From 549a5bbcd21d9f7709fc931a2109bf12c3bcdd3b Mon Sep 17 00:00:00 2001 From: Michal Kubecek Date: Jun 18 2018 07:43:29 +0000 Subject: Update to 4.18-rc1. - Eliminated 66 patches (62 stable, 4 other). - ARM configs need updating. - Config changes: - General: - RSEQ=y - i386: - BPF_JIT=y - BPF_JIT_ALWAYS_ON=y - powerpc: - LD_DEAD_CODE_DATA_ELIMINATION=n (experimental) - s390: - FW_LOADER_USER_HELPER=y - PCI: - PCI_HOST_GENERIC=y - Network: - TLS_DEVICE=y - XDP_SOCKETS=y - NFT_CONNLIMIT=m - NFT_SOCKET=m - IP_VS_MH=m - IP_VS_MH_TAB_INDEX=12 (default) - NF_TPROXY_IPV4=m - NF_TPROXY_IPV6=m - BPFILTER=y - BPFILTER_UMH=m - FAILOVER=m - MLX5_EN_TLS=y - NET_VENDOR_MICROSEMI=y - MSCC_OCELOT_SWITCH=m - MSCC_OCELOT_SWITCH_OCELOT=m - NFP_APP_ABM_NIC=y - MDIO_MSCC_MIIM=m - ASIX_PHY=m - DP83TC811_PHY=m - MICROCHIP_T1_PHY=m - NET_FAILOVER=m - Block: - DM_WRITECACHE=m - Input: - MOUSE_PS2_ELANTECH_SMBUS=y - TOUCHSCREEN_CHIPONE_ICN8505=m - HID_STEAM=m - Misc: - SPI_MEM=y - GPIOLIB_FASTPATH_LIMIT=512 (default) - VIDEO_CADENCE=y - LCD_OTM3225A=n - CHROMEOS_TBMC=m - FPGA_MGR_MACHXO2_SPI=m - Graphics: - DRM_I2C_NXP_TDA9950=m - DRM_I915_DEBUG_GUC=n - DRM_CDNS_DSI=n - DRM_THINE_THC63LVD1024=n - DRM_XEN=y - DRM_XEN_FRONTEND=m - Sound: - SND_SOC_SSM2305=n - SND_SOC_TSCS454=n - SND_SOC_WM8782=n - SND_SOC_MT6351=n - SND_XEN_FRONTEND=m - LED: - LEDS_CR0014114=m - LEDS_LM3601X=m - USB: - TYPEC_RT1711H=m - IIO: - AD5686_SPI=n - AD5696_I2C=n - TI_DAC5571=n - TSL2772=n - IIO_RESCALE=n - Filesystems: - PROC_VMCORE_DEVICE_DUMP=y - EVM_ADD_XATTRS=y - Testing: - TEST_OVERFLOW=n - Crypto: - CRYPTO_AEGIS128=m - CRYPTO_AEGIS128L=m - CRYPTO_AEGIS256=m - CRYPTO_AEGIS128_AESNI_SSE2=m - CRYPTO_AEGIS128L_AESNI_SSE2=m - CRYPTO_AEGIS256_AESNI_SSE2=m - CRYPTO_MORUS640=m - CRYPTO_MORUS640_SSE2=m - CRYPTO_MORUS1280=m - CRYPTO_MORUS1280_SSE2=m - CRYPTO_MORUS1280_AVX2=m - CRYPTO_ZSTD=m --- diff --git a/config.conf b/config.conf index 0271971..aef2c62 100644 --- a/config.conf +++ b/config.conf @@ -28,14 +28,14 @@ +ppc64le ppc64le/vanilla # ARM architectures -+armv6hl armv6hl/default -+armv6hl armv6hl/vanilla -+armv7hl armv7hl/default -+armv7hl armv7hl/vanilla -+armv7hl armv7hl/lpae -+arm64 arm64/default -+arm64 arm64/64kb -+arm64 arm64/vanilla ++armv6hl -!needs_updating armv6hl/default ++armv6hl -!needs_updating armv6hl/vanilla ++armv7hl -!needs_updating armv7hl/default ++armv7hl -!needs_updating armv7hl/vanilla ++armv7hl -!needs_updating armv7hl/lpae ++arm64 -!needs_updating arm64/default ++arm64 -!needs_updating arm64/64kb ++arm64 -!needs_updating arm64/vanilla +s390x s390x/default +s390x s390x/vanilla diff --git a/config/i386/debug b/config/i386/debug index 69b252a..0738527 100644 --- a/config/i386/debug +++ b/config/i386/debug @@ -11,6 +11,7 @@ CONFIG_DEBUG_GPIO=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_PREEMPT=y CONFIG_DEBUG_RODATA_TEST=y +CONFIG_DEBUG_RSEQ=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SHIRQ=y CONFIG_DEBUG_SPINLOCK=y @@ -68,6 +69,7 @@ CONFIG_USB_WUSB_CBAF_DEBUG=y CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y CONFIG_XFS_ASSERT_FATAL=y CONFIG_XFS_DEBUG=y +CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_MODULES=y # CONFIG_SUSE_KERNEL_SUPPORTED is not set CONFIG_EFI_STUB=y diff --git a/config/i386/default b/config/i386/default index 92dead4..3e8445f 100644 --- a/config/i386/default +++ b/config/i386/default @@ -34,6 +34,7 @@ CONFIG_CS89x0=m CONFIG_DMA_OF=y # CONFIG_DPOT_DAC is not set # CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_CDNS_DSI is not set CONFIG_DRM_DUMB_VGA_DAC=m CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_ADV7511_AUDIO=y @@ -66,6 +67,7 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_SII902X is not set # CONFIG_DRM_SII9234 is not set # CONFIG_DRM_SIL_SII8620 is not set +# CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_TOSHIBA_TC358767 is not set CONFIG_DTLK=m @@ -120,6 +122,7 @@ CONFIG_I2C_PXA_PCI=y # CONFIG_I2C_RK3X is not set CONFIG_I82365=m # CONFIG_IIO_MUX is not set +# CONFIG_IIO_RESCALE is not set CONFIG_INLINE_READ_UNLOCK=y CONFIG_INLINE_READ_UNLOCK_IRQ=y CONFIG_INLINE_SPIN_UNLOCK_IRQ=y @@ -143,6 +146,7 @@ CONFIG_LANCE=m # CONFIG_LEDS_AAT1290 is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set +CONFIG_LEDS_CR0014114=m CONFIG_LEDS_IS31FL319X=m CONFIG_LEDS_IS31FL32XX=m # CONFIG_LEDS_KTD2692 is not set @@ -221,7 +225,11 @@ CONFIG_PATA_WINBOND_VLB=m CONFIG_PCIE_CADENCE=y CONFIG_PCIE_CADENCE_EP=y CONFIG_PCIE_CADENCE_HOST=y +CONFIG_PCI_ECAM=y +# CONFIG_PCI_FTPCI100 is not set # CONFIG_PCI_GOOLPC is not set +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y CONFIG_PCI_OLPC=y CONFIG_PCMCIA_PROBE=y CONFIG_PCWATCHDOG=m @@ -351,7 +359,6 @@ CONFIG_ULTRA=m CONFIG_V4L_RADIO_ISA_DRIVERS=y # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set -CONFIG_VIDEOMODE_HELPERS=y # CONFIG_VMSPLIT_2G_OPT is not set # CONFIG_VMSPLIT_3G_OPT is not set CONFIG_WD80x3=m diff --git a/config/i386/pae b/config/i386/pae index d753b1c..6fc96e3 100644 --- a/config/i386/pae +++ b/config/i386/pae @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 4.17.2 Kernel Configuration +# Linux/i386 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_X86_32=y CONFIG_X86=y @@ -14,8 +18,6 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_BITS_MAX=16 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y @@ -39,6 +41,9 @@ CONFIG_X86_32_SMP=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=3 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -47,7 +52,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-pae" # CONFIG_LOCALVERSION_AUTO is not set @@ -224,8 +228,11 @@ CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y CONFIG_PC104=y @@ -276,8 +283,8 @@ 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_RSEQ=y CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y @@ -293,13 +300,12 @@ CONFIG_HAVE_CMPXCHG_DOUBLE=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -# CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -# CONFIG_CC_STACKPROTECTOR_AUTO is not set +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y @@ -419,6 +425,7 @@ CONFIG_QUEUED_SPINLOCKS=y CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_QUEUED_RWLOCKS=y CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y CONFIG_FREEZER=y # @@ -509,8 +516,6 @@ CONFIG_CPU_SUP_UMC_32=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=64 CONFIG_NR_CPUS_DEFAULT=32 @@ -562,8 +567,6 @@ CONFIG_VMSPLIT_3G=y CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y CONFIG_X86_PAE=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_HAS_MEM_ENCRYPT=y CONFIG_NUMA=y # CONFIG_NUMA_EMU is not set @@ -622,6 +625,7 @@ CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_FRAME_VECTOR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y CONFIG_HIGHPTE=y @@ -831,8 +835,8 @@ CONFIG_PCI_DOMAINS=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set CONFIG_PCIEAER_INJECT=m +# CONFIG_PCIE_ECRC is not set CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM_DEFAULT=y @@ -842,13 +846,13 @@ CONFIG_PCIEASPM_DEFAULT=y CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y CONFIG_PCIE_PTM=y -CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_PF_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_PCI_ATS=y CONFIG_PCI_LOCKLESS_CONFIG=y @@ -865,20 +869,21 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HOTPLUG_PCI_SHPC=y # -# Cadence PCIe controllers support +# PCI controller drivers # # -# DesignWare PCI Core Support +# Cadence PCIe controllers support # -# CONFIG_PCIE_DW_PLAT is not set # -# PCI host controller drivers +# DesignWare PCI Core Support # +# CONFIG_PCIE_DW_PLAT_HOST is not set +# CONFIG_PCIE_DW_PLAT_EP is not set # # PCI Endpoint @@ -962,6 +967,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m +CONFIG_TLS_DEVICE=y CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -974,6 +980,7 @@ CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_SMC=m CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -1067,6 +1074,7 @@ CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -1127,14 +1135,12 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m @@ -1142,6 +1148,7 @@ CONFIG_NFT_SET_RBTREE=m CONFIG_NFT_SET_HASH=m CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -1156,6 +1163,7 @@ CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m @@ -1296,6 +1304,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -1305,6 +1314,11 @@ CONFIG_IP_VS_NQ=m CONFIG_IP_VS_SH_TAB_BITS=8 # +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# # IPVS application helper # CONFIG_IP_VS_FTP=m @@ -1317,6 +1331,7 @@ CONFIG_IP_VS_PE_SIP=m CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m @@ -1330,7 +1345,7 @@ CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NFT_MASQ_IPV4=m CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m @@ -1365,6 +1380,7 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m @@ -1378,7 +1394,7 @@ CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1401,7 +1417,6 @@ CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=y -CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m @@ -1425,6 +1440,8 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1628,6 +1645,7 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y +CONFIG_BPF_JIT=y CONFIG_BPF_STREAM_PARSER=y CONFIG_NET_FLOW_LIMIT=y @@ -1867,8 +1885,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_DEVLINK=m CONFIG_MAY_USE_DEVLINK=m +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=m +CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1883,6 +1905,10 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y @@ -1901,6 +1927,7 @@ CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_W1=m +CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_SOUNDWIRE=m CONFIG_DMA_SHARED_BUFFER=y @@ -2115,6 +2142,7 @@ CONFIG_PARIDE_ON26=m CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m CONFIG_ZRAM_WRITEBACK=y +# CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=m @@ -2536,6 +2564,7 @@ CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_WRITECACHE=m CONFIG_DM_ERA=m CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m @@ -2708,8 +2737,6 @@ CONFIG_ATL1C=m CONFIG_ALX=m CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -# CONFIG_MACB is not set CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y @@ -2727,6 +2754,8 @@ CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT_DCB=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y CONFIG_NET_VENDOR_CHELSIO=y CONFIG_CHELSIO_T1=m @@ -2764,16 +2793,13 @@ CONFIG_NET_VENDOR_EMULEX=y CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y CONFIG_NET_VENDOR_EZCHIP=y -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_FUJITSU=y CONFIG_PCMCIA_FMVJ18X=m CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m CONFIG_NET_VENDOR_HUAWEI=y CONFIG_HINIC=m +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=m CONFIG_E1000=m @@ -2792,7 +2818,10 @@ CONFIG_I40E_DCB=y CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set @@ -2816,6 +2845,7 @@ CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_TLS=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2833,6 +2863,9 @@ CONFIG_KS8842=m # CONFIG_KS8851_MLL is not set CONFIG_KSZ884X_PCI=m # CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m CONFIG_FEALNX=m @@ -2842,6 +2875,7 @@ CONFIG_NS83820=m CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y +CONFIG_NFP_APP_ABM_NIC=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y @@ -2874,6 +2908,8 @@ CONFIG_QED_OOO=y CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2884,18 +2920,11 @@ CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R8169=m CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m CONFIG_NET_VENDOR_ROCKER=y CONFIG_ROCKER=m CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -CONFIG_SC92031=m -CONFIG_NET_VENDOR_SIS=y -CONFIG_SIS900=m -CONFIG_SIS190=m CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_SFC=m CONFIG_SFC_MTD=y @@ -2904,6 +2933,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m CONFIG_NET_VENDOR_SMSC=y CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m @@ -2919,6 +2953,9 @@ CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NIU=m +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m CONFIG_NET_VENDOR_TEHUTI=y CONFIG_TEHUTI=m CONFIG_NET_VENDOR_TI=y @@ -2937,9 +2974,6 @@ CONFIG_WIZNET_BUS_ANY=y CONFIG_WIZNET_W5100_SPI=m CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m -CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_DWC_XLGMAC=m -CONFIG_DWC_XLGMAC_PCI=m CONFIG_FDDI=m CONFIG_DEFXX=m CONFIG_DEFXX_MMIO=y @@ -2952,6 +2986,7 @@ CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_MSCC_MIIM=m CONFIG_PHYLIB=m CONFIG_SWPHY=y CONFIG_LED_TRIGGER_PHY=y @@ -2961,6 +2996,7 @@ CONFIG_LED_TRIGGER_PHY=y # CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m +CONFIG_ASIX_PHY=m CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2970,6 +3006,7 @@ CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_DP83822_PHY=m +CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_FIXED_PHY=m @@ -2981,6 +3018,7 @@ CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m @@ -3101,6 +3139,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y # CONFIG_WIL6210_DEBUGFS is not set CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m CONFIG_ATH10K_USB=m @@ -3364,6 +3403,7 @@ CONFIG_FUJITSU_ES=m CONFIG_THUNDERBOLT_NET=m CONFIG_HYPERV_NET=m # CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y @@ -3555,6 +3595,7 @@ CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y @@ -3624,6 +3665,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set CONFIG_TOUCHSCREEN_AUO_PIXCIR=m CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m CONFIG_TOUCHSCREEN_CY8CTMG110=m CONFIG_TOUCHSCREEN_CYTTSP_CORE=m CONFIG_TOUCHSCREEN_CYTTSP_I2C=m @@ -3876,7 +3918,6 @@ CONFIG_HVC_XEN_FRONTEND=y CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DMI_DECODE=y -CONFIG_IPMI_PROC_INTERFACE=y CONFIG_IPMI_PANIC_EVENT=y # CONFIG_IPMI_PANIC_STRING is not set CONFIG_IPMI_DEVICE_INTERFACE=m @@ -4036,6 +4077,7 @@ CONFIG_I2C_STUB=m CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y # # SPI Master Controller Drivers @@ -4121,6 +4163,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_LEWISBURG=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set @@ -4685,6 +4728,7 @@ CONFIG_MFD_VX855=m # CONFIG_RAVE_SP_CORE is not set # CONFIG_REGULATOR is not set CONFIG_CEC_CORE=m +CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y CONFIG_RC_CORE=m CONFIG_RC_MAP=m @@ -4744,7 +4788,6 @@ CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m CONFIG_DVB_CORE=m # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y @@ -4936,14 +4979,6 @@ CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_TW5864=m CONFIG_VIDEO_TW68=m CONFIG_VIDEO_TW686X=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_ZR36060=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m # # Media capture/analog TV support @@ -5009,6 +5044,7 @@ CONFIG_DVB_SMIPCIE=m CONFIG_DVB_NETUP_UNIDVB=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CADENCE=y CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y @@ -5030,7 +5066,7 @@ CONFIG_SDR_PLATFORM_DRIVERS=y CONFIG_SMS_SDIO_DRV=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m -CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI470X=m CONFIG_USB_SI470X=m # CONFIG_I2C_SI470X is not set CONFIG_RADIO_SI4713=m @@ -5233,6 +5269,7 @@ CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Multistandard (satellite) frontends @@ -5391,6 +5428,7 @@ CONFIG_DVB_SP2=m # # Tools to develop new frontends # +CONFIG_DVB_DUMMY_FE=m # # Graphics support @@ -5413,7 +5451,7 @@ CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=m CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y @@ -5431,6 +5469,7 @@ CONFIG_DRM_SCHED=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set +CONFIG_DRM_I2C_NXP_TDA9950=m CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set CONFIG_DRM_AMDGPU=m @@ -5448,7 +5487,6 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_PRE_VEGA=y CONFIG_DRM_AMD_DC_FBC=y CONFIG_DRM_AMD_DC_DCN1_0=y # CONFIG_DEBUG_KERNEL_DC is not set @@ -5477,6 +5515,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_I915_DEBUG is not set # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set # CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set +# CONFIG_DRM_I915_DEBUG_GUC is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set @@ -5513,6 +5552,8 @@ CONFIG_DRM_TINYDRM=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -5589,9 +5630,6 @@ CONFIG_FB_MB862XX=m CONFIG_FB_MB862XX_PCI_GDC=y CONFIG_FB_MB862XX_I2C=y CONFIG_FB_BROADSHEET=m -CONFIG_FB_AUO_K190X=m -CONFIG_FB_AUO_K1900=m -CONFIG_FB_AUO_K1901=m CONFIG_FB_HYPERV=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SM712 is not set @@ -5610,6 +5648,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_LM3533=m @@ -5628,6 +5667,7 @@ CONFIG_BACKLIGHT_LV5207LP=m CONFIG_BACKLIGHT_BD6107=m CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_VGASTATE=m +CONFIG_VIDEOMODE_HELPERS=y CONFIG_HDMI=y # @@ -5870,7 +5910,6 @@ CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m CONFIG_SND_SOC_INTEL_HASWELL=m -CONFIG_SND_SOC_INTEL_BAYTRAIL=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m @@ -5881,8 +5920,6 @@ 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 @@ -5990,6 +6027,7 @@ CONFIG_SND_SOC_RT5677_SPI=m # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set # CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -6011,6 +6049,7 @@ CONFIG_SND_SOC_TDA7419=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set # CONFIG_SND_SOC_WM8524 is not set @@ -6024,6 +6063,7 @@ CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set # CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set # CONFIG_SND_SOC_WM8804_I2C is not set # CONFIG_SND_SOC_WM8804_SPI is not set # CONFIG_SND_SOC_WM8903 is not set @@ -6034,6 +6074,7 @@ CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8985 is not set # CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_NAU8540 is not set CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8824=m @@ -6042,6 +6083,7 @@ CONFIG_SND_SOC_NAU8824=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m CONFIG_SND_SYNTH_EMUX=m +CONFIG_SND_XEN_FRONTEND=m CONFIG_AC97_BUS=m # @@ -6134,6 +6176,7 @@ CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m @@ -6480,6 +6523,7 @@ CONFIG_LEDS_APU=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m +CONFIG_LEDS_LM3601X=m CONFIG_LEDS_NET48XX=m CONFIG_LEDS_WRAP=m CONFIG_LEDS_PCA9532=m @@ -6734,7 +6778,6 @@ CONFIG_ASYNC_TX_DMA=y CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_AUXDISPLAY=y -CONFIG_CHARLCD=m CONFIG_HD44780=m CONFIG_KS0108=m CONFIG_KS0108_PORT=0x378 @@ -6746,6 +6789,7 @@ CONFIG_PANEL=m CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 # CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_CHARLCD=m CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m @@ -6814,17 +6858,6 @@ CONFIG_XEN_ACPI=y CONFIG_XEN_SYMS=y CONFIG_XEN_HAVE_VPMU=y CONFIG_STAGING=y -CONFIG_IPX=m -CONFIG_IPX_INTERN=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCPFS_STRONG=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_EXTRAS=y CONFIG_PRISM2_USB=m # CONFIG_COMEDI is not set CONFIG_RTL8192U=m @@ -6850,9 +6883,7 @@ CONFIG_VT6656=m # # Accelerometers # -# CONFIG_ADIS16201 is not set # CONFIG_ADIS16203 is not set -# CONFIG_ADIS16209 is not set # CONFIG_ADIS16240 is not set # @@ -6893,24 +6924,14 @@ CONFIG_VT6656=m # CONFIG_AD5933 is not set # -# Light sensors -# -# CONFIG_TSL2x7x is not set - -# # 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 # # Resolver to digital converters # # CONFIG_AD2S90 is not set -# CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set # CONFIG_FB_SM750 is not set CONFIG_FB_XGI=m @@ -6934,6 +6955,14 @@ CONFIG_STAGING_MEDIA=y CONFIG_I2C_BCM2048=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m # # Android @@ -6943,12 +6972,6 @@ CONFIG_FIREWIRE_SERIAL=m CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 # CONFIG_MTD_SPINAND_MT29F is not set -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -# CONFIG_LNET_SELFTEST is not set -CONFIG_LNET_XPRT_IB=m -CONFIG_LUSTRE_FS=m -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set CONFIG_DGNC=m # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set @@ -6963,6 +6986,7 @@ CONFIG_KS7010=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m CONFIG_DRM_VBOXVIDEO=m # CONFIG_PI433 is not set # CONFIG_MTK_MMC is not set @@ -7049,6 +7073,7 @@ CONFIG_PMC_ATOM=y CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m +CONFIG_CHROMEOS_TBMC=m CONFIG_CROS_EC_LPC=m CONFIG_CROS_EC_LPC_MEC=y CONFIG_CROS_EC_PROTO=y @@ -7185,6 +7210,8 @@ CONFIG_IIO_TRIGGERED_EVENT=m # # Accelerometers # +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set CONFIG_BMC150_ACCEL=m @@ -7260,6 +7287,10 @@ CONFIG_HI8435=m # CONFIG_VIPERBOARD_ADC is not set # +# Analog Front Ends +# + +# # Amplifiers # # CONFIG_AD8366 is not set @@ -7304,7 +7335,8 @@ CONFIG_104_QUAD_8=m # CONFIG_AD5504 is not set # CONFIG_AD5624R_SPI is not set # CONFIG_LTC2632 is not set -# CONFIG_AD5686 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set # CONFIG_AD5755 is not set CONFIG_AD5761=m # CONFIG_AD5764 is not set @@ -7318,6 +7350,7 @@ CONFIG_AD5761=m # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set # CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set # # IIO dummy driver @@ -7425,6 +7458,7 @@ CONFIG_MAX44000=m # CONFIG_TCS3472 is not set # CONFIG_SENSORS_TSL2563 is not set # CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set CONFIG_US5182D=m # CONFIG_VCNL4000 is not set @@ -7514,6 +7548,11 @@ CONFIG_SX9500=m # CONFIG_SRF08 is not set # +# Resolver to digital converters +# +# CONFIG_AD2S1200 is not set + +# # Temperature sensors # # CONFIG_MAXIM_THERMOCOUPLE is not set @@ -7611,6 +7650,7 @@ CONFIG_ALTERA_PR_IP_CORE=m CONFIG_FPGA_MGR_ALTERA_PS_SPI=m CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_FPGA_MGR_XILINX_SPI=m +CONFIG_FPGA_MGR_MACHXO2_SPI=m # CONFIG_FPGA_BRIDGE is not set CONFIG_PM_OPP=y # CONFIG_SIOX is not set @@ -7649,6 +7689,7 @@ CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y CONFIG_APPLE_PROPERTIES=y CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_X86=y CONFIG_EFI_DEV_PATH_PARSER=y # @@ -7736,6 +7777,7 @@ CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -7763,7 +7805,6 @@ CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -7782,6 +7823,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y @@ -7792,6 +7834,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_CONFIGFS_FS=m CONFIG_EFIVAR_FS=m CONFIG_MISC_FILESYSTEMS=y @@ -8068,6 +8111,7 @@ CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_HIGHMEM is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACKOVERFLOW is not set +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_DEBUG_SHIRQ is not set # @@ -8138,16 +8182,16 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 CONFIG_NOTIFIER_ERROR_INJECTION=m CONFIG_PM_NOTIFIER_ERROR_INJECT=m CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m -CONFIG_FAULT_INJECTION=y CONFIG_FUNCTION_ERROR_INJECTION=y +CONFIG_FAULT_INJECTION=y # CONFIG_FAILSLAB is not set # CONFIG_FAIL_PAGE_ALLOC is not set CONFIG_FAIL_MAKE_REQUEST=y # CONFIG_FAIL_IO_TIMEOUT is not set -# CONFIG_FAIL_MMC_REQUEST is not set # CONFIG_FAIL_FUTEX is not set -# CONFIG_FAIL_FUNCTION is not set CONFIG_FAULT_INJECTION_DEBUG_FS=y +# CONFIG_FAIL_FUNCTION is not set +# CONFIG_FAIL_MMC_REQUEST is not set # CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y @@ -8222,6 +8266,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set @@ -8351,6 +8396,7 @@ CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_ADD_XATTRS=y # CONFIG_EVM_LOAD_X509 is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -8410,6 +8456,11 @@ CONFIG_CRYPTO_ENGINE=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128L=m +CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_MORUS640=m +CONFIG_CRYPTO_MORUS1280=m CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m @@ -8478,7 +8529,6 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_SALSA20_586=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m @@ -8498,6 +8548,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m # # Random Number Generation @@ -8650,8 +8701,12 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DMA_DIRECT_OPS=y CONFIG_DMA_VIRT_OPS=y +CONFIG_SWIOTLB=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPU_RMAP=y CONFIG_DQL=y diff --git a/config/ppc64/debug b/config/ppc64/debug index 0a0ccea..4b68892 100644 --- a/config/ppc64/debug +++ b/config/ppc64/debug @@ -6,6 +6,7 @@ CONFIG_CGROUP_DEBUG=y CONFIG_CRYPTO_DEV_VMX_ENCRYPT=y CONFIG_CRYPTO_TEST=m CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_RSEQ=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DMATEST=m @@ -44,5 +45,6 @@ CONFIG_SCSI_LPFC_DEBUG_FS=y CONFIG_SND_PCM_XRUN_DEBUG=y CONFIG_TTY_PRINTK=y CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_MODULES=y # CONFIG_SUSE_KERNEL_SUPPORTED is not set diff --git a/config/ppc64/default b/config/ppc64/default index 1cbec64..a11bc01 100644 --- a/config/ppc64/default +++ b/config/ppc64/default @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 4.17.2 Kernel Configuration +# Linux/powerpc 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_PPC64=y @@ -21,6 +25,7 @@ CONFIG_PPC_FPU=y CONFIG_ALTIVEC=y CONFIG_VSX=y CONFIG_PPC_STD_MMU=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_PPC_RADIX_MMU=y CONFIG_PPC_RADIX_MMU_DEFAULT=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y @@ -35,8 +40,6 @@ CONFIG_VDSO32=y CONFIG_CPU_BIG_ENDIAN=y # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_64BIT=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_MMU=y CONFIG_ARCH_MMAP_RND_BITS_MAX=29 CONFIG_ARCH_MMAP_RND_BITS_MIN=14 @@ -74,6 +77,9 @@ CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ZONE_DMA32=y CONFIG_PGTABLE_LEVELS=4 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y @@ -81,7 +87,6 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-default" # CONFIG_LOCALVERSION_AUTO is not set @@ -211,6 +216,8 @@ CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_SYSCTL_EXCEPTION_TRACE=y @@ -247,6 +254,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y # CONFIG_PC104 is not set @@ -288,7 +297,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_RSEQ=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_NMI_WATCHDOG=y @@ -304,8 +313,9 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -323,6 +333,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS=7 CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_ARCH_HAS_PHYS_TO_DMA=y # CONFIG_REFCOUNT_FULL is not set @@ -589,8 +600,6 @@ CONFIG_COREDUMP=y CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y CONFIG_PPC_TRANSACTIONAL_MEM=y # CONFIG_LD_HEAD_STUB_CATCH is not set -CONFIG_IOMMU_HELPER=y -# CONFIG_SWIOTLB is not set CONFIG_HOTPLUG_CPU=y CONFIG_ARCH_CPU_PROBE_RELEASE=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -668,6 +677,7 @@ CONFIG_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_ARCH_HAS_ZONE_DEVICE=y CONFIG_ZONE_DEVICE=y CONFIG_ARCH_HAS_HMM=y +CONFIG_DEV_PAGEMAP_OPS=y # CONFIG_HMM_MIRROR is not set # CONFIG_DEVICE_PRIVATE is not set # CONFIG_DEVICE_PUBLIC is not set @@ -676,6 +686,7 @@ CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_ARCH_MEMORY_PROBE=y CONFIG_NODES_SPAN_OTHER_NODES=y # CONFIG_PPC_4K_PAGES is not set @@ -714,7 +725,6 @@ CONFIG_ISA_DMA_API=y # CONFIG_ZONE_DMA=y CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_FSL_LBC=y CONFIG_PPC_PCI_CHOICE=y @@ -724,8 +734,8 @@ CONFIG_PCI_SYSCALL=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set CONFIG_PCIEAER_INJECT=m +# CONFIG_PCIE_ECRC is not set CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM_DEFAULT=y @@ -735,39 +745,43 @@ CONFIG_PCIEASPM_DEFAULT=y CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y CONFIG_PCIE_PTM=y -CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_PF_STUB=m CONFIG_PCI_ATS=y +CONFIG_PCI_ECAM=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_CPCI=y -CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HOTPLUG_PCI_SHPC=y CONFIG_HOTPLUG_PCI_POWERNV=m CONFIG_HOTPLUG_PCI_RPA=y CONFIG_HOTPLUG_PCI_RPA_DLPAR=y # +# PCI controller drivers +# + +# # Cadence PCIe controllers support # CONFIG_PCIE_CADENCE=y CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_CADENCE_EP=y +# CONFIG_PCI_FTPCI100 is not set +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y # # DesignWare PCI Core Support # # -# PCI host controller drivers -# - -# # PCI Endpoint # CONFIG_PCI_ENDPOINT=y @@ -815,6 +829,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m +CONFIG_TLS_DEVICE=y CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=y @@ -827,6 +842,7 @@ CONFIG_NET_KEY=y CONFIG_NET_KEY_MIGRATE=y CONFIG_SMC=m CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -917,6 +933,7 @@ CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -977,14 +994,12 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m @@ -992,6 +1007,7 @@ CONFIG_NFT_SET_RBTREE=m CONFIG_NFT_SET_HASH=m CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -1006,6 +1022,7 @@ CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m @@ -1146,6 +1163,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -1155,6 +1173,11 @@ CONFIG_IP_VS_NQ=m CONFIG_IP_VS_SH_TAB_BITS=8 # +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# # IPVS application helper # CONFIG_IP_VS_FTP=m @@ -1167,6 +1190,7 @@ CONFIG_IP_VS_PE_SIP=m CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m @@ -1180,7 +1204,7 @@ CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NFT_MASQ_IPV4=m CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m @@ -1215,6 +1239,7 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m @@ -1228,7 +1253,7 @@ CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1251,7 +1276,6 @@ CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=y -CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m @@ -1275,6 +1299,8 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1617,8 +1643,11 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_DEVLINK=m CONFIG_MAY_USE_DEVLINK=m +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=m CONFIG_HAVE_EBPF_JIT=y # @@ -1634,6 +1663,10 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y @@ -1651,6 +1684,7 @@ CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_W1=m +CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set @@ -1776,6 +1810,7 @@ CONFIG_CDROM=m CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m CONFIG_ZRAM_WRITEBACK=y +# CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m @@ -1821,6 +1856,7 @@ CONFIG_AD525X_DPOT=m CONFIG_AD525X_DPOT_I2C=m # CONFIG_AD525X_DPOT_SPI is not set CONFIG_DUMMY_IRQ=m +CONFIG_IBMVMC=m CONFIG_PHANTOM=m # CONFIG_SGI_IOC4 is not set CONFIG_TIFM_CORE=m @@ -2221,6 +2257,7 @@ CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_WRITECACHE=m CONFIG_DM_ERA=m CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m @@ -2359,8 +2396,6 @@ CONFIG_ATL1C=y CONFIG_ALX=m CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -# CONFIG_MACB is not set CONFIG_NET_VENDOR_BROADCOM=y # CONFIG_B44 is not set # CONFIG_BCMGENET is not set @@ -2377,6 +2412,8 @@ CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT_DCB=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set @@ -2419,13 +2456,10 @@ CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y CONFIG_NET_VENDOR_EZCHIP=y CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=m -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_HP=y # CONFIG_HP100 is not set CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_IBM=y CONFIG_IBMVETH=m CONFIG_IBM_EMAC=m @@ -2458,7 +2492,10 @@ CONFIG_I40E_DCB=y CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set # CONFIG_JME is not set CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set @@ -2480,6 +2517,7 @@ CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_TLS=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2497,6 +2535,9 @@ CONFIG_KS8842=m CONFIG_KS8851_MLL=m CONFIG_KSZ884X_PCI=m # CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m # CONFIG_FEALNX is not set @@ -2506,6 +2547,7 @@ CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y +CONFIG_NFP_APP_ABM_NIC=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y @@ -2538,23 +2580,18 @@ CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m CONFIG_NET_VENDOR_REALTEK=y # CONFIG_8139CP is not set # CONFIG_8139TOO is not set CONFIG_R8169=m CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m CONFIG_NET_VENDOR_ROCKER=y CONFIG_ROCKER=m CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -# CONFIG_SC92031 is not set -CONFIG_NET_VENDOR_SIS=y -# CONFIG_SIS900 is not set -CONFIG_SIS190=m CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_SFC=m CONFIG_SFC_MTD=y @@ -2563,6 +2600,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +CONFIG_SIS190=m CONFIG_NET_VENDOR_SMSC=y # CONFIG_EPIC100 is not set CONFIG_SMSC911X=m @@ -2577,6 +2619,9 @@ CONFIG_NET_VENDOR_SUN=y CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NIU=m +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m CONFIG_NET_VENDOR_TEHUTI=y CONFIG_TEHUTI=m CONFIG_NET_VENDOR_TI=y @@ -2597,9 +2642,6 @@ CONFIG_WIZNET_W5300=m CONFIG_WIZNET_BUS_ANY=y CONFIG_WIZNET_W5100_SPI=m CONFIG_NET_VENDOR_XILINX=y -CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_DWC_XLGMAC=m -CONFIG_DWC_XLGMAC_PCI=m # CONFIG_FDDI is not set CONFIG_HIPPI=y CONFIG_ROADRUNNER=m @@ -2613,6 +2655,7 @@ CONFIG_MDIO_BUS_MUX_GPIO=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_MSCC_MIIM=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_PHYLIB=m @@ -2624,6 +2667,7 @@ CONFIG_LED_TRIGGER_PHY=y # CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m +CONFIG_ASIX_PHY=m CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2633,6 +2677,7 @@ CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_DP83822_PHY=m +CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_FIXED_PHY=m @@ -2644,6 +2689,7 @@ CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m @@ -2762,6 +2808,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y # CONFIG_WIL6210_DEBUGFS is not set CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y CONFIG_ATH10K_PCI=m # CONFIG_ATH10K_AHB is not set CONFIG_ATH10K_USB=m @@ -2980,6 +3027,7 @@ CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_ADF7242=m CONFIG_IEEE802154_MCR20A=m # CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y @@ -3156,6 +3204,7 @@ CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y @@ -3474,7 +3523,6 @@ CONFIG_VIRTIO_CONSOLE=y CONFIG_IBM_BSR=m CONFIG_POWERNV_OP_PANEL=m CONFIG_IPMI_HANDLER=m -CONFIG_IPMI_PROC_INTERFACE=y CONFIG_IPMI_PANIC_EVENT=y # CONFIG_IPMI_PANIC_STRING is not set CONFIG_IPMI_DEVICE_INTERFACE=m @@ -3607,6 +3655,7 @@ CONFIG_I2C_STUB=m CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y # # SPI Master Controller Drivers @@ -3673,6 +3722,7 @@ CONFIG_PTP_1588_CLOCK=m # # CONFIG_PINCTRL is not set CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set @@ -4131,6 +4181,7 @@ CONFIG_MFD_VX855=m # CONFIG_RAVE_SP_CORE is not set # CONFIG_REGULATOR is not set CONFIG_CEC_CORE=m +CONFIG_CEC_NOTIFIER=y CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_LIRC=y @@ -4188,7 +4239,6 @@ CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m CONFIG_DVB_CORE=m # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y @@ -4444,6 +4494,7 @@ CONFIG_DVB_SMIPCIE=m CONFIG_DVB_NETUP_UNIDVB=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CADENCE=y CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y @@ -4463,7 +4514,7 @@ CONFIG_SDR_PLATFORM_DRIVERS=y # CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m -CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI470X=m CONFIG_USB_SI470X=m # CONFIG_I2C_SI470X is not set CONFIG_RADIO_SI4713=m @@ -4657,6 +4708,7 @@ CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Multistandard (satellite) frontends @@ -4815,6 +4867,7 @@ CONFIG_DVB_SP2=m # # Tools to develop new frontends # +CONFIG_DVB_DUMMY_FE=m # # Graphics support @@ -4826,7 +4879,7 @@ CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_DRM=m CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y @@ -4844,6 +4897,7 @@ CONFIG_DRM_SCHED=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set +CONFIG_DRM_I2C_NXP_TDA9950=m CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set CONFIG_DRM_AMDGPU=m @@ -4861,7 +4915,6 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_PRE_VEGA=y CONFIG_DRM_AMD_DC_FBC=y # CONFIG_DEBUG_KERNEL_DC is not set @@ -4916,6 +4969,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # # CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_CDNS_DSI is not set CONFIG_DRM_DUMB_VGA_DAC=m # CONFIG_DRM_LVDS_ENCODER is not set # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set @@ -4924,6 +4978,7 @@ CONFIG_DRM_DUMB_VGA_DAC=m # CONFIG_DRM_SIL_SII8620 is not set # CONFIG_DRM_SII902X is not set # CONFIG_DRM_SII9234 is not set +# CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TOSHIBA_TC358767 is not set # CONFIG_DRM_TI_TFP410 is not set CONFIG_DRM_I2C_ADV7511=m @@ -5006,9 +5061,6 @@ CONFIG_FB_MB862XX_PCI_GDC=y # CONFIG_FB_MB862XX_LIME is not set CONFIG_FB_MB862XX_I2C=y CONFIG_FB_BROADSHEET=m -CONFIG_FB_AUO_K190X=m -CONFIG_FB_AUO_K1900=m -CONFIG_FB_AUO_K1901=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SSD1307 is not set # CONFIG_FB_SM712 is not set @@ -5027,6 +5079,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_LM3533=m @@ -5308,6 +5361,7 @@ CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m @@ -5617,10 +5671,12 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y # CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set +CONFIG_LEDS_CR0014114=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m # CONFIG_LEDS_LM3692X is not set +CONFIG_LEDS_LM3601X=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m @@ -5865,7 +5921,6 @@ CONFIG_ASYNC_TX_DMA=y CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_AUXDISPLAY=y -CONFIG_CHARLCD=m CONFIG_HD44780=m # CONFIG_KS0108 is not set # CONFIG_IMG_ASCII_LCD is not set @@ -5874,6 +5929,7 @@ CONFIG_PANEL=m CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 # CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_CHARLCD=m CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m @@ -5911,17 +5967,6 @@ CONFIG_VIRTIO_MMIO=m # Microsoft Hyper-V guest support # CONFIG_STAGING=y -CONFIG_IPX=m -CONFIG_IPX_INTERN=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCPFS_STRONG=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_EXTRAS=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set CONFIG_RTL8192U=m @@ -5968,13 +6013,6 @@ CONFIG_LTE_GDM724X=m CONFIG_FIREWIRE_SERIAL=m CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -# CONFIG_LNET_SELFTEST is not set -CONFIG_LNET_XPRT_IB=m -CONFIG_LUSTRE_FS=m -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set -CONFIG_LUSTRE_TRANSLATE_ERRNOS=y CONFIG_DGNC=m # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set @@ -5987,6 +6025,7 @@ CONFIG_DGNC=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m # CONFIG_PI433 is not set CONFIG_HWSPINLOCK=y @@ -6148,6 +6187,7 @@ CONFIG_FPGA_MGR_ALTERA_PS_SPI=m CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_FPGA_MGR_XILINX_SPI=m # CONFIG_FPGA_MGR_ICE40_SPI is not set +CONFIG_FPGA_MGR_MACHXO2_SPI=m CONFIG_FPGA_BRIDGE=m # CONFIG_XILINX_PR_DECOUPLER is not set CONFIG_FPGA_REGION=m @@ -6241,6 +6281,7 @@ CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -6268,7 +6309,6 @@ CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -6287,6 +6327,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y @@ -6297,6 +6338,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_MISC_FILESYSTEMS=y @@ -6556,6 +6598,9 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_IOMMU_HELPER=y CONFIG_DMA_VIRT_OPS=y CONFIG_CPU_RMAP=y CONFIG_DQL=y @@ -6638,6 +6683,7 @@ CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACKOVERFLOW is not set +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_DEBUG_SHIRQ is not set # @@ -6778,6 +6824,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set @@ -6894,6 +6941,7 @@ CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_ADD_XATTRS=y # CONFIG_EVM_LOAD_X509 is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -6951,6 +6999,11 @@ CONFIG_CRYPTO_ENGINE=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128L=m +CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_MORUS640=m +CONFIG_CRYPTO_MORUS1280=m CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m @@ -7036,6 +7089,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m # # Random Number Generation diff --git a/config/ppc64le/debug b/config/ppc64le/debug index e394be7..11a9cdf 100644 --- a/config/ppc64le/debug +++ b/config/ppc64le/debug @@ -5,6 +5,7 @@ CONFIG_CACHEFILES_DEBUG=y CONFIG_CGROUP_DEBUG=y CONFIG_CRYPTO_TEST=m CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_RSEQ=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DMATEST=m @@ -43,5 +44,6 @@ CONFIG_SCSI_LPFC_DEBUG_FS=y CONFIG_SND_PCM_XRUN_DEBUG=y CONFIG_TTY_PRINTK=y CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_MODULES=y # CONFIG_SUSE_KERNEL_SUPPORTED is not set diff --git a/config/ppc64le/default b/config/ppc64le/default index b420223..e047b13 100644 --- a/config/ppc64le/default +++ b/config/ppc64le/default @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 4.17.2 Kernel Configuration +# Linux/powerpc 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_PPC64=y @@ -18,6 +22,7 @@ CONFIG_PPC_FPU=y CONFIG_ALTIVEC=y CONFIG_VSX=y CONFIG_PPC_STD_MMU=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_PPC_RADIX_MMU=y CONFIG_PPC_RADIX_MMU_DEFAULT=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y @@ -32,8 +37,6 @@ CONFIG_PPC_DOORBELL=y CONFIG_CPU_LITTLE_ENDIAN=y CONFIG_PPC64_BOOT_WRAPPER=y CONFIG_64BIT=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_MMU=y CONFIG_ARCH_MMAP_RND_BITS_MAX=29 CONFIG_ARCH_MMAP_RND_BITS_MIN=14 @@ -67,6 +70,9 @@ CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ZONE_DMA32=y CONFIG_PGTABLE_LEVELS=4 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y @@ -74,7 +80,6 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-default" # CONFIG_LOCALVERSION_AUTO is not set @@ -203,6 +208,8 @@ CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_SYSCTL_EXCEPTION_TRACE=y @@ -239,6 +246,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y # CONFIG_PC104 is not set @@ -266,7 +275,6 @@ CONFIG_KPROBES=y CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set CONFIG_OPTPROBES=y -CONFIG_KPROBES_ON_FTRACE=y CONFIG_UPROBES=y CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y @@ -281,7 +289,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_RSEQ=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_PERF_EVENTS_NMI=y CONFIG_HAVE_NMI_WATCHDOG=y @@ -297,8 +305,9 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -313,9 +322,11 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_ARCH_MMAP_RND_BITS=14 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y CONFIG_ARCH_MMAP_RND_COMPAT_BITS=7 +CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y @@ -532,10 +543,6 @@ CONFIG_COREDUMP=y CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y CONFIG_PPC_TRANSACTIONAL_MEM=y # CONFIG_LD_HEAD_STUB_CATCH is not set -# CONFIG_DISABLE_MPROFILE_KERNEL is not set -CONFIG_MPROFILE_KERNEL=y -CONFIG_IOMMU_HELPER=y -# CONFIG_SWIOTLB is not set CONFIG_HOTPLUG_CPU=y CONFIG_ARCH_CPU_PROBE_RELEASE=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -612,6 +619,7 @@ CONFIG_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_ARCH_HAS_ZONE_DEVICE=y CONFIG_ZONE_DEVICE=y CONFIG_ARCH_HAS_HMM=y +CONFIG_DEV_PAGEMAP_OPS=y # CONFIG_HMM_MIRROR is not set # CONFIG_DEVICE_PRIVATE is not set # CONFIG_DEVICE_PUBLIC is not set @@ -620,6 +628,7 @@ CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_ARCH_MEMORY_PROBE=y CONFIG_NODES_SPAN_OTHER_NODES=y # CONFIG_PPC_4K_PAGES is not set @@ -657,7 +666,6 @@ CONFIG_ISA_DMA_API=y # CONFIG_ZONE_DMA=y CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_FSL_LBC=y CONFIG_PCI=y @@ -666,8 +674,8 @@ CONFIG_PCI_SYSCALL=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set CONFIG_PCIEAER_INJECT=m +# CONFIG_PCIE_ECRC is not set CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM_DEFAULT=y @@ -677,39 +685,43 @@ CONFIG_PCIEASPM_DEFAULT=y CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y CONFIG_PCIE_PTM=y -CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_PF_STUB=m CONFIG_PCI_ATS=y +CONFIG_PCI_ECAM=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_CPCI=y -CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HOTPLUG_PCI_SHPC=y CONFIG_HOTPLUG_PCI_POWERNV=m CONFIG_HOTPLUG_PCI_RPA=y CONFIG_HOTPLUG_PCI_RPA_DLPAR=y # +# PCI controller drivers +# + +# # Cadence PCIe controllers support # CONFIG_PCIE_CADENCE=y CONFIG_PCIE_CADENCE_HOST=y CONFIG_PCIE_CADENCE_EP=y +# CONFIG_PCI_FTPCI100 is not set +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y # # DesignWare PCI Core Support # # -# PCI host controller drivers -# - -# # PCI Endpoint # CONFIG_PCI_ENDPOINT=y @@ -756,6 +768,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m +CONFIG_TLS_DEVICE=y CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=y @@ -768,6 +781,7 @@ CONFIG_NET_KEY=y CONFIG_NET_KEY_MIGRATE=y CONFIG_SMC=m CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -858,6 +872,7 @@ CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -918,14 +933,12 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m @@ -933,6 +946,7 @@ CONFIG_NFT_SET_RBTREE=m CONFIG_NFT_SET_HASH=m CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -947,6 +961,7 @@ CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m @@ -1087,6 +1102,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -1096,6 +1112,11 @@ CONFIG_IP_VS_NQ=m CONFIG_IP_VS_SH_TAB_BITS=8 # +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# # IPVS application helper # CONFIG_IP_VS_FTP=m @@ -1108,6 +1129,7 @@ CONFIG_IP_VS_PE_SIP=m CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m @@ -1121,7 +1143,7 @@ CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NFT_MASQ_IPV4=m CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m @@ -1156,6 +1178,7 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m @@ -1169,7 +1192,7 @@ CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1192,7 +1215,6 @@ CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=y -CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m @@ -1216,6 +1238,8 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1522,8 +1546,11 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_DEVLINK=m CONFIG_MAY_USE_DEVLINK=m +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=m CONFIG_HAVE_EBPF_JIT=y # @@ -1539,6 +1566,10 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y @@ -1556,6 +1587,7 @@ CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_W1=m +CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set @@ -1681,6 +1713,7 @@ CONFIG_CDROM=m CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m CONFIG_ZRAM_WRITEBACK=y +# CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m @@ -1726,6 +1759,7 @@ CONFIG_AD525X_DPOT=m CONFIG_AD525X_DPOT_I2C=m # CONFIG_AD525X_DPOT_SPI is not set CONFIG_DUMMY_IRQ=m +CONFIG_IBMVMC=m CONFIG_PHANTOM=m # CONFIG_SGI_IOC4 is not set CONFIG_TIFM_CORE=m @@ -2121,6 +2155,7 @@ CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_WRITECACHE=m CONFIG_DM_ERA=m CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m @@ -2248,8 +2283,6 @@ CONFIG_ATL1C=y CONFIG_ALX=m CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -# CONFIG_MACB is not set CONFIG_NET_VENDOR_BROADCOM=y # CONFIG_B44 is not set # CONFIG_BCMGENET is not set @@ -2266,6 +2299,8 @@ CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT_DCB=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set @@ -2308,13 +2343,10 @@ CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y CONFIG_NET_VENDOR_EZCHIP=y CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=m -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_HP=y # CONFIG_HP100 is not set CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_IBM=y CONFIG_IBMVETH=m CONFIG_IBMVNIC=m @@ -2335,7 +2367,10 @@ CONFIG_I40E_DCB=y CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set # CONFIG_JME is not set CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set @@ -2357,6 +2392,7 @@ CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_TLS=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2374,6 +2410,9 @@ CONFIG_KS8842=m CONFIG_KS8851_MLL=m CONFIG_KSZ884X_PCI=m # CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m # CONFIG_FEALNX is not set @@ -2383,6 +2422,7 @@ CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y +CONFIG_NFP_APP_ABM_NIC=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y @@ -2415,23 +2455,18 @@ CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCA7000_UART is not set # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m CONFIG_NET_VENDOR_REALTEK=y # CONFIG_8139CP is not set # CONFIG_8139TOO is not set CONFIG_R8169=m CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m CONFIG_NET_VENDOR_ROCKER=y CONFIG_ROCKER=m CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -# CONFIG_SC92031 is not set -CONFIG_NET_VENDOR_SIS=y -# CONFIG_SIS900 is not set -CONFIG_SIS190=m CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_SFC=m CONFIG_SFC_MTD=y @@ -2440,6 +2475,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +CONFIG_SIS190=m CONFIG_NET_VENDOR_SMSC=y # CONFIG_EPIC100 is not set CONFIG_SMSC911X=m @@ -2454,6 +2494,9 @@ CONFIG_NET_VENDOR_SUN=y CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NIU=m +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m CONFIG_NET_VENDOR_TEHUTI=y CONFIG_TEHUTI=m CONFIG_NET_VENDOR_TI=y @@ -2470,9 +2513,6 @@ CONFIG_WIZNET_W5300=m CONFIG_WIZNET_BUS_ANY=y CONFIG_WIZNET_W5100_SPI=m CONFIG_NET_VENDOR_XILINX=y -CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_DWC_XLGMAC=m -CONFIG_DWC_XLGMAC_PCI=m # CONFIG_FDDI is not set CONFIG_HIPPI=y CONFIG_ROADRUNNER=m @@ -2486,6 +2526,7 @@ CONFIG_MDIO_BUS_MUX_GPIO=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_MDIO_GPIO=m # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_MSCC_MIIM=m # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_THUNDER is not set CONFIG_PHYLIB=m @@ -2497,6 +2538,7 @@ CONFIG_LED_TRIGGER_PHY=y # CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m +CONFIG_ASIX_PHY=m CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2506,6 +2548,7 @@ CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_DP83822_PHY=m +CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_FIXED_PHY=m @@ -2517,6 +2560,7 @@ CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m @@ -2635,6 +2679,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y # CONFIG_WIL6210_DEBUGFS is not set CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y CONFIG_ATH10K_PCI=m # CONFIG_ATH10K_AHB is not set CONFIG_ATH10K_USB=m @@ -2852,6 +2897,7 @@ CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_ADF7242=m CONFIG_IEEE802154_MCR20A=m # CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y @@ -3028,6 +3074,7 @@ CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y @@ -3343,7 +3390,6 @@ CONFIG_VIRTIO_CONSOLE=y CONFIG_IBM_BSR=m CONFIG_POWERNV_OP_PANEL=m CONFIG_IPMI_HANDLER=m -CONFIG_IPMI_PROC_INTERFACE=y CONFIG_IPMI_PANIC_EVENT=y # CONFIG_IPMI_PANIC_STRING is not set CONFIG_IPMI_DEVICE_INTERFACE=m @@ -3470,6 +3516,7 @@ CONFIG_I2C_STUB=m CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y # # SPI Master Controller Drivers @@ -3536,6 +3583,7 @@ CONFIG_PTP_1588_CLOCK=m # # CONFIG_PINCTRL is not set CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set @@ -3994,6 +4042,7 @@ CONFIG_MFD_VX855=m # CONFIG_RAVE_SP_CORE is not set # CONFIG_REGULATOR is not set CONFIG_CEC_CORE=m +CONFIG_CEC_NOTIFIER=y CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_LIRC=y @@ -4051,7 +4100,6 @@ CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m CONFIG_DVB_CORE=m # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y @@ -4307,6 +4355,7 @@ CONFIG_DVB_SMIPCIE=m CONFIG_DVB_NETUP_UNIDVB=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CADENCE=y CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y @@ -4326,7 +4375,7 @@ CONFIG_SDR_PLATFORM_DRIVERS=y # CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m -CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI470X=m CONFIG_USB_SI470X=m # CONFIG_I2C_SI470X is not set CONFIG_RADIO_SI4713=m @@ -4520,6 +4569,7 @@ CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Multistandard (satellite) frontends @@ -4678,6 +4728,7 @@ CONFIG_DVB_SP2=m # # Tools to develop new frontends # +CONFIG_DVB_DUMMY_FE=m # # Graphics support @@ -4688,7 +4739,7 @@ CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_DRM=m CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y @@ -4706,6 +4757,7 @@ CONFIG_DRM_SCHED=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set +CONFIG_DRM_I2C_NXP_TDA9950=m CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set CONFIG_DRM_AMDGPU=m @@ -4723,7 +4775,6 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_PRE_VEGA=y CONFIG_DRM_AMD_DC_FBC=y # CONFIG_DEBUG_KERNEL_DC is not set @@ -4778,6 +4829,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # # CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_CDNS_DSI is not set CONFIG_DRM_DUMB_VGA_DAC=m # CONFIG_DRM_LVDS_ENCODER is not set # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set @@ -4786,6 +4838,7 @@ CONFIG_DRM_DUMB_VGA_DAC=m # CONFIG_DRM_SIL_SII8620 is not set # CONFIG_DRM_SII902X is not set # CONFIG_DRM_SII9234 is not set +# CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TOSHIBA_TC358767 is not set # CONFIG_DRM_TI_TFP410 is not set CONFIG_DRM_I2C_ADV7511=m @@ -4866,9 +4919,6 @@ CONFIG_FB_MB862XX_PCI_GDC=y # CONFIG_FB_MB862XX_LIME is not set CONFIG_FB_MB862XX_I2C=y CONFIG_FB_BROADSHEET=m -CONFIG_FB_AUO_K190X=m -CONFIG_FB_AUO_K1900=m -CONFIG_FB_AUO_K1901=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SSD1307 is not set # CONFIG_FB_SM712 is not set @@ -4887,6 +4937,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_LM3533=m @@ -5156,6 +5207,7 @@ CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m @@ -5465,10 +5517,12 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y # CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set +CONFIG_LEDS_CR0014114=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m # CONFIG_LEDS_LM3692X is not set +CONFIG_LEDS_LM3601X=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m @@ -5709,7 +5763,6 @@ CONFIG_ASYNC_TX_DMA=y CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_AUXDISPLAY=y -CONFIG_CHARLCD=m CONFIG_HD44780=m # CONFIG_KS0108 is not set # CONFIG_IMG_ASCII_LCD is not set @@ -5718,6 +5771,7 @@ CONFIG_PANEL=m CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 # CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_CHARLCD=m CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m @@ -5755,17 +5809,6 @@ CONFIG_VIRTIO_MMIO=m # Microsoft Hyper-V guest support # CONFIG_STAGING=y -CONFIG_IPX=m -CONFIG_IPX_INTERN=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCPFS_STRONG=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_EXTRAS=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set CONFIG_RTL8192U=m @@ -5812,13 +5855,6 @@ CONFIG_LTE_GDM724X=m CONFIG_FIREWIRE_SERIAL=m CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -# CONFIG_LNET_SELFTEST is not set -CONFIG_LNET_XPRT_IB=m -CONFIG_LUSTRE_FS=m -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set -CONFIG_LUSTRE_TRANSLATE_ERRNOS=y CONFIG_DGNC=m # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set @@ -5831,6 +5867,7 @@ CONFIG_DGNC=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m # CONFIG_PI433 is not set CONFIG_HWSPINLOCK=y @@ -5992,6 +6029,7 @@ CONFIG_FPGA_MGR_ALTERA_PS_SPI=m CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_FPGA_MGR_XILINX_SPI=m # CONFIG_FPGA_MGR_ICE40_SPI is not set +CONFIG_FPGA_MGR_MACHXO2_SPI=m CONFIG_FPGA_BRIDGE=m # CONFIG_XILINX_PR_DECOUPLER is not set CONFIG_FPGA_REGION=m @@ -6086,6 +6124,7 @@ CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -6113,7 +6152,6 @@ CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -6141,6 +6179,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_MISC_FILESYSTEMS=y @@ -6401,6 +6440,9 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_IOMMU_HELPER=y CONFIG_DMA_VIRT_OPS=y CONFIG_CPU_RMAP=y CONFIG_DQL=y @@ -6484,6 +6526,7 @@ CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_DEBUG_STACKOVERFLOW=y # CONFIG_DEBUG_STACKOVERFLOW is not set +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_DEBUG_SHIRQ is not set # @@ -6565,7 +6608,6 @@ CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_TRACER_MAX_TRACE=y @@ -6597,7 +6639,6 @@ CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_PROBE_EVENTS=y CONFIG_DYNAMIC_FTRACE=y -CONFIG_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_FUNCTION_PROFILER=y CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -6626,6 +6667,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set @@ -6742,6 +6784,7 @@ CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_ADD_XATTRS=y # CONFIG_EVM_LOAD_X509 is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -6799,6 +6842,11 @@ CONFIG_CRYPTO_ENGINE=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128L=m +CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_MORUS640=m +CONFIG_CRYPTO_MORUS1280=m CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m @@ -6884,6 +6932,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m # # Random Number Generation @@ -6956,8 +7005,6 @@ CONFIG_VHOST_SCSI=m CONFIG_VHOST_VSOCK=m CONFIG_VHOST=m # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set -CONFIG_HAVE_LIVEPATCH=y -CONFIG_LIVEPATCH=y CONFIG_SUSE_KERNEL=y # diff --git a/config/s390x/default b/config/s390x/default index 47701e1..356f4c3 100644 --- a/config/s390x/default +++ b/config/s390x/default @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/s390 4.17.2 Kernel Configuration +# Linux/s390 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_MMU=y CONFIG_ZONE_DMA=y @@ -11,7 +15,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_PGSTE=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_AUDIT_ARCH=y @@ -21,6 +24,9 @@ CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_S390=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PGTABLE_LEVELS=5 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -29,7 +35,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-default" # CONFIG_LOCALVERSION_AUTO is not set @@ -225,7 +230,6 @@ CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y @@ -237,8 +241,9 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y CONFIG_ARCH_HAS_SCALED_CPUTIME=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -252,6 +257,7 @@ CONFIG_CLONE_BACKWARDS2=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_CPU_NO_EFFICIENT_FFS=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y @@ -521,6 +527,7 @@ CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y # CONFIG_IDLE_PAGE_TRACKING is not set # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAX_PHYSMEM_BITS=46 CONFIG_PACK_STACK=y CONFIG_CHECK_STACK=y @@ -534,30 +541,30 @@ CONFIG_QDIO=m CONFIG_PCI=y CONFIG_PCI_NR_FUNCTIONS=64 # CONFIG_PCIEPORTBUS is not set -CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set # CONFIG_PCI_STUB is not set +CONFIG_PCI_PF_STUB=m CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y # CONFIG_PCI_PRI is not set # CONFIG_PCI_PASID is not set CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_CPCI=y -CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HOTPLUG_PCI_SHPC=y CONFIG_HOTPLUG_PCI_S390=y # -# Cadence PCIe controllers support +# PCI controller drivers # # -# DesignWare PCI Core Support +# Cadence PCIe controllers support # # -# PCI host controller drivers +# DesignWare PCI Core Support # # @@ -573,9 +580,6 @@ CONFIG_PCI_EPF_TEST=m CONFIG_PCI_SW_SWITCHTEC=m CONFIG_PCI_DOMAINS=y CONFIG_HAS_IOMEM=y -CONFIG_IOMMU_HELPER=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NEED_DMA_MAP_STATE=y CONFIG_CHSC_SCH=m CONFIG_SCM_BUS=y CONFIG_EADM_SCH=m @@ -627,6 +631,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m +CONFIG_TLS_DEVICE=y CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -641,6 +646,7 @@ CONFIG_IUCV=y CONFIG_AFIUCV=m CONFIG_SMC=m CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -731,6 +737,7 @@ CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -791,14 +798,12 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m @@ -806,6 +811,7 @@ CONFIG_NFT_SET_RBTREE=m CONFIG_NFT_SET_HASH=m CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -820,6 +826,7 @@ CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m @@ -959,6 +966,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -968,6 +976,11 @@ CONFIG_IP_VS_NQ=m CONFIG_IP_VS_SH_TAB_BITS=8 # +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# # IPVS application helper # CONFIG_IP_VS_FTP=m @@ -980,6 +993,7 @@ CONFIG_IP_VS_PE_SIP=m CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m @@ -993,7 +1007,7 @@ CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NFT_MASQ_IPV4=m CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m @@ -1028,6 +1042,7 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m @@ -1041,7 +1056,7 @@ CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1064,10 +1079,11 @@ CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=y -CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m # CONFIG_BRIDGE_NF_EBTABLES is not set +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1287,8 +1303,11 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_DEVLINK=m CONFIG_MAY_USE_DEVLINK=m +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=m CONFIG_CCW=y # @@ -1304,8 +1323,13 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set @@ -1317,6 +1341,7 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_MMIO=m # CONFIG_DMA_CMA is not set # @@ -1334,6 +1359,7 @@ CONFIG_CDROM=m # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set CONFIG_ZRAM=m CONFIG_ZRAM_WRITEBACK=y +# CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m @@ -1595,6 +1621,7 @@ CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_WRITECACHE=m CONFIG_DM_ERA=m CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m @@ -1683,10 +1710,10 @@ CONFIG_NET_VENDOR_ARC=y # CONFIG_NET_VENDOR_ATHEROS is not set CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -# CONFIG_MACB is not set # CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_BROCADE is not set +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set @@ -1703,9 +1730,9 @@ CONFIG_NET_VENDOR_CORTINA=y # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set CONFIG_NET_VENDOR_EZCHIP=y -# CONFIG_NET_VENDOR_EXAR is not set # CONFIG_NET_VENDOR_HP is not set CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y # CONFIG_E100 is not set # CONFIG_E1000 is not set @@ -1719,7 +1746,7 @@ CONFIG_NET_VENDOR_INTEL=y # CONFIG_I40EVF is not set CONFIG_ICE=m CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y +# CONFIG_NET_VENDOR_EXAR is not set # CONFIG_JME is not set CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set @@ -1740,6 +1767,7 @@ CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_TLS=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_PCI=m @@ -1751,6 +1779,9 @@ CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m CONFIG_MLXFW=m # CONFIG_NET_VENDOR_MICREL is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m # CONFIG_NET_VENDOR_MYRI is not set # CONFIG_FEALNX is not set CONFIG_NET_VENDOR_NATSEMI=y @@ -1759,6 +1790,7 @@ CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y +CONFIG_NFP_APP_ABM_NIC=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y @@ -1771,37 +1803,38 @@ CONFIG_NET_VENDOR_8390=y CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set +# CONFIG_NET_VENDOR_RDC is not set # CONFIG_NET_VENDOR_REALTEK is not set CONFIG_NET_VENDOR_RENESAS=y -# CONFIG_NET_VENDOR_RDC is not set CONFIG_NET_VENDOR_ROCKER=y CONFIG_ROCKER=m CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set # CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS is not set CONFIG_NET_VENDOR_SOLARFLARE=y # CONFIG_SFC is not set CONFIG_SFC_FALCON=m +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set CONFIG_NET_VENDOR_SOCIONEXT=y # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m # CONFIG_NET_VENDOR_TEHUTI is not set # CONFIG_NET_VENDOR_TI is not set CONFIG_NET_VENDOR_VIA=y # CONFIG_VIA_RHINE is not set # CONFIG_VIA_VELOCITY is not set # CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_DWC_XLGMAC=m -CONFIG_DWC_XLGMAC_PCI=m # CONFIG_FDDI is not set # CONFIG_HIPPI is not set CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_MSCC_MIIM=m # CONFIG_MDIO_THUNDER is not set CONFIG_PHYLIB=m CONFIG_SWPHY=y @@ -1811,6 +1844,7 @@ CONFIG_SWPHY=y # CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m +CONFIG_ASIX_PHY=m CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -1820,6 +1854,7 @@ CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_DP83822_PHY=m +CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_FIXED_PHY=m @@ -1831,6 +1866,7 @@ CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m @@ -1874,6 +1910,7 @@ CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m # CONFIG_VMXNET3 is not set # CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m CONFIG_NVM=y # CONFIG_NVM_DEBUG is not set CONFIG_NVM_PBLK=m @@ -2458,8 +2495,6 @@ CONFIG_VIRTIO_INPUT=m # Microsoft Hyper-V guest support # CONFIG_STAGING=y -# CONFIG_IPX is not set -# CONFIG_NCP_FS is not set # CONFIG_COMEDI is not set # CONFIG_RTS5208 is not set @@ -2472,13 +2507,6 @@ CONFIG_STAGING_MEDIA=y # # Android # -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -# CONFIG_LNET_SELFTEST is not set -CONFIG_LNET_XPRT_IB=m -CONFIG_LUSTRE_FS=m -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set -CONFIG_LUSTRE_TRANSLATE_ERRNOS=y # CONFIG_DGNC is not set # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set @@ -2635,6 +2663,7 @@ CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_PM_OPP=y # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set +CONFIG_HAVE_PNETID=m # # File systems @@ -2717,6 +2746,7 @@ CONFIG_QFMT_V1=m CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -2744,7 +2774,6 @@ CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -2763,6 +2792,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y @@ -2773,6 +2803,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_MISC_FILESYSTEMS=y @@ -3015,6 +3046,7 @@ CONFIG_DEBUG_MEMORY_INIT=y CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set # CONFIG_DEBUG_SHIRQ is not set @@ -3149,6 +3181,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set @@ -3240,6 +3273,7 @@ CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_ADD_XATTRS=y # CONFIG_EVM_LOAD_X509 is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -3297,6 +3331,11 @@ CONFIG_CRYPTO_ENGINE=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128L=m +CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_MORUS640=m +CONFIG_CRYPTO_MORUS1280=m CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m @@ -3378,6 +3417,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m # # Random Number Generation @@ -3489,6 +3529,10 @@ CONFIG_RADIX_TREE_MULTIORDER=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_IOMMU_HELPER=y CONFIG_DMA_DIRECT_OPS=y CONFIG_DMA_VIRT_OPS=y CONFIG_CPU_RMAP=y diff --git a/config/s390x/zfcpdump b/config/s390x/zfcpdump index 5463c9b..adeca44 100644 --- a/config/s390x/zfcpdump +++ b/config/s390x/zfcpdump @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/s390 4.17.2 Kernel Configuration +# Linux/s390 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_MMU=y CONFIG_ZONE_DMA=y @@ -11,7 +15,6 @@ CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_PGSTE=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_AUDIT_ARCH=y @@ -20,6 +23,9 @@ CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_S390=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_PGTABLE_LEVELS=5 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -28,7 +34,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-zfcpdump" # CONFIG_LOCALVERSION_AUTO is not set @@ -174,7 +179,6 @@ CONFIG_ARCH_HAS_FORTIFY_SOURCE=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y @@ -186,8 +190,9 @@ CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y CONFIG_ARCH_HAS_SCALED_CPUTIME=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -201,6 +206,7 @@ CONFIG_CLONE_BACKWARDS2=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_CPU_NO_EFFICIENT_FFS=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y @@ -403,6 +409,7 @@ CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y # CONFIG_IDLE_PAGE_TRACKING is not set # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAX_PHYSMEM_BITS=46 # CONFIG_PACK_STACK is not set # CONFIG_CHECK_STACK is not set @@ -451,6 +458,7 @@ CONFIG_NET=y # CONFIG_NET_KEY is not set CONFIG_IUCV=y CONFIG_AFIUCV=y +CONFIG_XDP_SOCKETS=y # CONFIG_INET is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETWORK_PHY_TIMESTAMPING is not set @@ -495,6 +503,7 @@ CONFIG_NET_FLOW_LIMIT=y # CONFIG_LWTUNNEL is not set # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y +CONFIG_FAILOVER=y CONFIG_CCW=y # @@ -509,8 +518,13 @@ CONFIG_UEVENT_HELPER_PATH="" # CONFIG_DEVTMPFS is not set # CONFIG_STANDALONE is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set @@ -643,6 +657,7 @@ CONFIG_DM_UNSTRIPED=y # CONFIG_DM_SNAPSHOT is not set # CONFIG_DM_THIN_PROVISIONING is not set # CONFIG_DM_CACHE is not set +CONFIG_DM_WRITECACHE=y # CONFIG_DM_ERA is not set # CONFIG_DM_MIRROR is not set # CONFIG_DM_RAID is not set @@ -918,6 +933,7 @@ CONFIG_FILE_LOCKING=y # CONFIG_FANOTIFY is not set # CONFIG_QUOTA is not set # CONFIG_AUTOFS4_FS is not set +CONFIG_AUTOFS_FS=y # CONFIG_FUSE_FS is not set # CONFIG_OVERLAY_FS is not set @@ -945,6 +961,7 @@ CONFIG_FILE_LOCKING=y CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y @@ -1011,6 +1028,7 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set # CONFIG_DEBUG_SHIRQ is not set @@ -1090,6 +1108,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_FIND_BIT_BENCHMARK is not set @@ -1161,6 +1180,11 @@ CONFIG_CRYPTO_WORKQUEUE=y # CONFIG_CRYPTO_CCM is not set CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_AEGIS128=y +CONFIG_CRYPTO_AEGIS128L=y +CONFIG_CRYPTO_AEGIS256=y +CONFIG_CRYPTO_MORUS640=y +CONFIG_CRYPTO_MORUS1280=y CONFIG_CRYPTO_SEQIV=y # CONFIG_CRYPTO_ECHAINIV is not set @@ -1239,6 +1263,7 @@ CONFIG_CRYPTO_SPECK=y # CONFIG_CRYPTO_842 is not set # CONFIG_CRYPTO_LZ4 is not set # CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y # # Random Number Generation @@ -1281,10 +1306,13 @@ CONFIG_CRC4=y # CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set # CONFIG_CRC8 is not set +CONFIG_XXHASH=y # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y @@ -1302,6 +1330,7 @@ CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_LZ4=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DMA_DIRECT_OPS=y CONFIG_CPU_RMAP=y CONFIG_DQL=y diff --git a/config/x86_64/debug b/config/x86_64/debug index 28334a2..3685470 100644 --- a/config/x86_64/debug +++ b/config/x86_64/debug @@ -11,6 +11,7 @@ CONFIG_DEBUG_GPIO=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_PREEMPT=y CONFIG_DEBUG_RODATA_TEST=y +CONFIG_DEBUG_RSEQ=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_SHIRQ=y CONFIG_DEBUG_SPINLOCK=y @@ -67,6 +68,7 @@ CONFIG_USB_WUSB_CBAF_DEBUG=y CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y CONFIG_XFS_ASSERT_FATAL=y CONFIG_XFS_DEBUG=y +CONFIG_ZRAM_MEMORY_TRACKING=y CONFIG_MODULES=y # CONFIG_SUSE_KERNEL_SUPPORTED is not set CONFIG_EFI_STUB=y diff --git a/config/x86_64/default b/config/x86_64/default index d9ecae8..61c0f84 100644 --- a/config/x86_64/default +++ b/config/x86_64/default @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 4.17.2 Kernel Configuration +# Linux/x86_64 4.18.0-rc1 Kernel Configuration +# + +# +# Compiler: gcc (SUSE Linux) 8.1.1 20180613 [gcc-8-branch revision 261538] # CONFIG_64BIT=y CONFIG_X86_64=y @@ -15,8 +19,6 @@ CONFIG_ARCH_MMAP_RND_BITS_MIN=28 CONFIG_ARCH_MMAP_RND_BITS_MAX=32 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y @@ -42,7 +44,11 @@ CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y +CONFIG_DYNAMIC_PHYSICAL_MASK=y CONFIG_PGTABLE_LEVELS=4 +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80101 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -51,7 +57,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="-default" # CONFIG_LOCALVERSION_AUTO is not set @@ -238,6 +243,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y CONFIG_PC104=y @@ -288,8 +295,8 @@ 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_RSEQ=y CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y CONFIG_HAVE_USER_RETURN_NOTIFIER=y @@ -306,13 +313,12 @@ CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -# CONFIG_CC_STACKPROTECTOR_NONE is not set -CONFIG_CC_STACKPROTECTOR_REGULAR=y -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -# CONFIG_CC_STACKPROTECTOR_AUTO is not set +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +# CONFIG_STACKPROTECTOR_STRONG is not set CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -337,6 +343,7 @@ CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_ISA_BUS_API=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y @@ -443,6 +450,7 @@ CONFIG_ARCH_USE_QUEUED_RWLOCKS=y CONFIG_QUEUED_RWLOCKS=y CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y CONFIG_FREEZER=y # @@ -511,8 +519,6 @@ CONFIG_DMI=y CONFIG_GART_IOMMU=y CONFIG_CALGARY_IOMMU=y # CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT is not set -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y # CONFIG_MAXSMP is not set CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=512 @@ -554,8 +560,6 @@ CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m # CONFIG_X86_5LEVEL is not set -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_X86_DIRECT_GBPAGES=y CONFIG_ARCH_HAS_MEM_ENCRYPT=y CONFIG_AMD_MEM_ENCRYPT=y @@ -633,6 +637,7 @@ CONFIG_DEFERRED_STRUCT_PAGE_INIT=y CONFIG_ARCH_HAS_ZONE_DEVICE=y CONFIG_ZONE_DEVICE=y CONFIG_ARCH_HAS_HMM=y +CONFIG_DEV_PAGEMAP_OPS=y # CONFIG_HMM_MIRROR is not set # CONFIG_DEVICE_PRIVATE is not set # CONFIG_DEVICE_PUBLIC is not set @@ -641,6 +646,7 @@ CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -845,8 +851,8 @@ CONFIG_MMCONF_FAM10H=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set CONFIG_PCIEAER_INJECT=m +# CONFIG_PCIE_ECRC is not set CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM_DEFAULT=y @@ -856,13 +862,13 @@ CONFIG_PCIEASPM_DEFAULT=y CONFIG_PCIE_PME=y CONFIG_PCIE_DPC=y CONFIG_PCIE_PTM=y -CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set CONFIG_PCI_STUB=y +CONFIG_PCI_PF_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_PCI_ATS=y CONFIG_PCI_LOCKLESS_CONFIG=y @@ -877,21 +883,22 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m -CONFIG_HOTPLUG_PCI_SHPC=m +CONFIG_HOTPLUG_PCI_SHPC=y # -# Cadence PCIe controllers support +# PCI controller drivers # # -# DesignWare PCI Core Support +# Cadence PCIe controllers support # -# CONFIG_PCIE_DW_PLAT is not set +CONFIG_VMD=m # -# PCI host controller drivers +# DesignWare PCI Core Support # -CONFIG_VMD=m +# CONFIG_PCIE_DW_PLAT_HOST is not set +# CONFIG_PCIE_DW_PLAT_EP is not set # # PCI Endpoint @@ -975,6 +982,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m +CONFIG_TLS_DEVICE=y CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -987,6 +995,7 @@ CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y CONFIG_SMC=m CONFIG_SMC_DIAG=m +CONFIG_XDP_SOCKETS=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -1080,6 +1089,7 @@ CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -1140,14 +1150,12 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_NETDEV=y -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m @@ -1155,6 +1163,7 @@ CONFIG_NFT_SET_RBTREE=m CONFIG_NFT_SET_HASH=m CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -1169,6 +1178,7 @@ CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m CONFIG_NFT_FIB=m CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m @@ -1309,6 +1319,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -1318,6 +1329,11 @@ CONFIG_IP_VS_NQ=m CONFIG_IP_VS_SH_TAB_BITS=8 # +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# # IPVS application helper # CONFIG_IP_VS_FTP=m @@ -1330,6 +1346,7 @@ CONFIG_IP_VS_PE_SIP=m CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TABLES_IPV4=y CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m @@ -1343,7 +1360,7 @@ CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NFT_MASQ_IPV4=m CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m @@ -1378,6 +1395,7 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m @@ -1391,7 +1409,7 @@ CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1414,7 +1432,6 @@ CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=y -CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_LOG_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m @@ -1438,6 +1455,8 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m @@ -1879,8 +1898,11 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y CONFIG_NET_DEVLINK=m CONFIG_MAY_USE_DEVLINK=m +CONFIG_PAGE_POOL=y +CONFIG_FAILOVER=m CONFIG_HAVE_EBPF_JIT=y # @@ -1896,6 +1918,10 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y @@ -1914,6 +1940,7 @@ CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_W1=m +CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_SOUNDWIRE=m CONFIG_DMA_SHARED_BUFFER=y @@ -2125,6 +2152,7 @@ CONFIG_PARIDE_ON26=m CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m CONFIG_ZRAM_WRITEBACK=y +# CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=m @@ -2549,6 +2577,7 @@ CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_WRITECACHE=m CONFIG_DM_ERA=m CONFIG_DM_MIRROR=m CONFIG_DM_LOG_USERSPACE=m @@ -2722,8 +2751,6 @@ CONFIG_ATL1C=m CONFIG_ALX=m CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -# CONFIG_MACB is not set CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y @@ -2741,6 +2768,8 @@ CONFIG_BNXT_FLOWER_OFFLOAD=y CONFIG_BNXT_DCB=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m +CONFIG_NET_CADENCE=y +# CONFIG_MACB is not set CONFIG_NET_VENDOR_CAVIUM=y # CONFIG_THUNDER_NIC_PF is not set # CONFIG_THUNDER_NIC_VF is not set @@ -2785,16 +2814,13 @@ CONFIG_NET_VENDOR_EMULEX=y CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y CONFIG_NET_VENDOR_EZCHIP=y -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_FUJITSU=y CONFIG_PCMCIA_FMVJ18X=m CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m CONFIG_NET_VENDOR_HUAWEI=y CONFIG_HINIC=m +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y CONFIG_E100=m CONFIG_E1000=m @@ -2815,7 +2841,10 @@ CONFIG_I40E_DCB=y CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MVMDIO is not set @@ -2839,6 +2868,7 @@ CONFIG_MLX5_ESWITCH=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_TLS=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2856,6 +2886,9 @@ CONFIG_KS8842=m # CONFIG_KS8851_MLL is not set CONFIG_KSZ884X_PCI=m # CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_OCELOT=m CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m CONFIG_MYRI10GE_DCA=y @@ -2866,6 +2899,7 @@ CONFIG_NS83820=m CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y +CONFIG_NFP_APP_ABM_NIC=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y @@ -2898,6 +2932,8 @@ CONFIG_QED_OOO=y CONFIG_NET_VENDOR_QUALCOMM=y # CONFIG_QCOM_EMAC is not set # CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2908,18 +2944,11 @@ CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R8169=m CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m CONFIG_NET_VENDOR_ROCKER=y CONFIG_ROCKER=m CONFIG_NET_VENDOR_SAMSUNG=y # CONFIG_SXGBE_ETH is not set CONFIG_NET_VENDOR_SEEQ=y -CONFIG_NET_VENDOR_SILAN=y -CONFIG_SC92031=m -CONFIG_NET_VENDOR_SIS=y -CONFIG_SIS900=m -CONFIG_SIS190=m CONFIG_NET_VENDOR_SOLARFLARE=y CONFIG_SFC=m CONFIG_SFC_MTD=y @@ -2928,6 +2957,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_SC92031=m +CONFIG_NET_VENDOR_SIS=y +CONFIG_SIS900=m +CONFIG_SIS190=m CONFIG_NET_VENDOR_SMSC=y CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m @@ -2943,6 +2977,9 @@ CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NIU=m +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m CONFIG_NET_VENDOR_TEHUTI=y CONFIG_TEHUTI=m CONFIG_NET_VENDOR_TI=y @@ -2961,9 +2998,6 @@ CONFIG_WIZNET_BUS_ANY=y CONFIG_WIZNET_W5100_SPI=m CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m -CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_DWC_XLGMAC=m -CONFIG_DWC_XLGMAC_PCI=m CONFIG_FDDI=m CONFIG_DEFXX=m CONFIG_DEFXX_MMIO=y @@ -2976,6 +3010,7 @@ CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_MSCC_MIIM=m # CONFIG_MDIO_THUNDER is not set CONFIG_PHYLIB=m CONFIG_SWPHY=y @@ -2986,6 +3021,7 @@ CONFIG_LED_TRIGGER_PHY=y # CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m +CONFIG_ASIX_PHY=m CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m @@ -2995,6 +3031,7 @@ CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m CONFIG_DP83822_PHY=m +CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_FIXED_PHY=m @@ -3006,6 +3043,7 @@ CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_QSEMI_PHY=m @@ -3126,6 +3164,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y # CONFIG_WIL6210_DEBUGFS is not set CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y CONFIG_ATH10K_PCI=m CONFIG_ATH10K_SDIO=m CONFIG_ATH10K_USB=m @@ -3389,6 +3428,7 @@ CONFIG_FUJITSU_ES=m CONFIG_THUNDERBOLT_NET=m CONFIG_HYPERV_NET=m # CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=m CONFIG_ISDN=y CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y @@ -3580,6 +3620,7 @@ CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y @@ -3649,6 +3690,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set CONFIG_TOUCHSCREEN_AUO_PIXCIR=m CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m CONFIG_TOUCHSCREEN_CY8CTMG110=m CONFIG_TOUCHSCREEN_CYTTSP_CORE=m CONFIG_TOUCHSCREEN_CYTTSP_I2C=m @@ -3898,7 +3940,6 @@ CONFIG_HVC_XEN_FRONTEND=y CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DMI_DECODE=y -CONFIG_IPMI_PROC_INTERFACE=y CONFIG_IPMI_PANIC_EVENT=y # CONFIG_IPMI_PANIC_STRING is not set CONFIG_IPMI_DEVICE_INTERFACE=m @@ -4053,6 +4094,7 @@ CONFIG_I2C_STUB=m CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y # # SPI Master Controller Drivers @@ -4137,6 +4179,7 @@ CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_LEWISBURG=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set @@ -4692,6 +4735,7 @@ CONFIG_MFD_VX855=m # CONFIG_RAVE_SP_CORE is not set # CONFIG_REGULATOR is not set CONFIG_CEC_CORE=m +CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y CONFIG_RC_CORE=m CONFIG_RC_MAP=m @@ -4751,7 +4795,6 @@ CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m CONFIG_DVB_CORE=m # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y @@ -4943,14 +4986,6 @@ CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_TW5864=m CONFIG_VIDEO_TW68=m CONFIG_VIDEO_TW686X=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_ZR36060=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_ZORAN_AVS6EYES=m # # Media capture/analog TV support @@ -5016,6 +5051,7 @@ CONFIG_DVB_SMIPCIE=m CONFIG_DVB_NETUP_UNIDVB=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CADENCE=y CONFIG_SOC_CAMERA=m CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y @@ -5037,7 +5073,7 @@ CONFIG_SDR_PLATFORM_DRIVERS=y CONFIG_SMS_SDIO_DRV=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m -CONFIG_RADIO_SI470X=y +CONFIG_RADIO_SI470X=m CONFIG_USB_SI470X=m # CONFIG_I2C_SI470X is not set CONFIG_RADIO_SI4713=m @@ -5240,6 +5276,7 @@ CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Multistandard (satellite) frontends @@ -5398,6 +5435,7 @@ CONFIG_DVB_SP2=m # # Tools to develop new frontends # +CONFIG_DVB_DUMMY_FE=m # # Graphics support @@ -5414,7 +5452,7 @@ CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=m CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y -# CONFIG_DRM_DEBUG_MM_SELFTEST is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y @@ -5432,6 +5470,7 @@ CONFIG_DRM_SCHED=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set +CONFIG_DRM_I2C_NXP_TDA9950=m CONFIG_DRM_RADEON=m # CONFIG_DRM_RADEON_USERPTR is not set CONFIG_DRM_AMDGPU=m @@ -5449,7 +5488,6 @@ CONFIG_DRM_AMD_ACP=y # Display Engine Configuration # CONFIG_DRM_AMD_DC=y -CONFIG_DRM_AMD_DC_PRE_VEGA=y CONFIG_DRM_AMD_DC_FBC=y CONFIG_DRM_AMD_DC_DCN1_0=y # CONFIG_DEBUG_KERNEL_DC is not set @@ -5480,6 +5518,7 @@ CONFIG_DRM_I915_GVT_KVMGT=m # CONFIG_DRM_I915_DEBUG is not set # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set # CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set +# CONFIG_DRM_I915_DEBUG_GUC is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set @@ -5517,6 +5556,8 @@ CONFIG_DRM_TINYDRM=m # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -5591,9 +5632,6 @@ CONFIG_FB_MB862XX=m CONFIG_FB_MB862XX_PCI_GDC=y CONFIG_FB_MB862XX_I2C=y CONFIG_FB_BROADSHEET=m -CONFIG_FB_AUO_K190X=m -CONFIG_FB_AUO_K1900=m -CONFIG_FB_AUO_K1901=m CONFIG_FB_HYPERV=m # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SM712 is not set @@ -5612,6 +5650,7 @@ CONFIG_LCD_PLATFORM=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_LM3533=m @@ -5629,6 +5668,7 @@ CONFIG_BACKLIGHT_LV5207LP=m CONFIG_BACKLIGHT_BD6107=m CONFIG_BACKLIGHT_ARCXCNN=m CONFIG_VGASTATE=m +CONFIG_VIDEOMODE_HELPERS=y CONFIG_HDMI=y # @@ -5867,7 +5907,6 @@ CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m CONFIG_SND_SOC_INTEL_HASWELL=m -CONFIG_SND_SOC_INTEL_BAYTRAIL=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m @@ -5878,8 +5917,6 @@ 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 @@ -5987,6 +6024,7 @@ CONFIG_SND_SOC_RT5677_SPI=m # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set # CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -6008,6 +6046,7 @@ CONFIG_SND_SOC_TDA7419=m # CONFIG_SND_SOC_TLV320AIC3X is not set CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set # CONFIG_SND_SOC_WM8524 is not set @@ -6021,6 +6060,7 @@ CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set # CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set # CONFIG_SND_SOC_WM8804_I2C is not set # CONFIG_SND_SOC_WM8804_SPI is not set # CONFIG_SND_SOC_WM8903 is not set @@ -6031,6 +6071,7 @@ CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_WM8985 is not set # CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_NAU8540 is not set CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8824=m @@ -6039,6 +6080,7 @@ CONFIG_SND_SOC_NAU8824=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m CONFIG_SND_SYNTH_EMUX=m +CONFIG_SND_XEN_FRONTEND=m CONFIG_AC97_BUS=m # @@ -6131,6 +6173,7 @@ CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m CONFIG_HID_STEELSERIES=m CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m @@ -6482,6 +6525,7 @@ CONFIG_LEDS_APU=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m +CONFIG_LEDS_LM3601X=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_GPIO=m @@ -6742,7 +6786,6 @@ CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set CONFIG_DCA=m CONFIG_AUXDISPLAY=y -CONFIG_CHARLCD=m CONFIG_HD44780=m CONFIG_KS0108=m CONFIG_KS0108_PORT=0x378 @@ -6754,6 +6797,7 @@ CONFIG_PANEL=m CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 # CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_CHARLCD=m CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m @@ -6827,17 +6871,6 @@ CONFIG_XEN_ACPI=y CONFIG_XEN_SYMS=y CONFIG_XEN_HAVE_VPMU=y CONFIG_STAGING=y -CONFIG_IPX=m -CONFIG_IPX_INTERN=y -CONFIG_NCP_FS=m -CONFIG_NCPFS_PACKET_SIGNING=y -CONFIG_NCPFS_IOCTL_LOCKING=y -CONFIG_NCPFS_STRONG=y -CONFIG_NCPFS_NFS_NS=y -CONFIG_NCPFS_OS2_NS=y -CONFIG_NCPFS_SMALLDOS=y -CONFIG_NCPFS_NLS=y -CONFIG_NCPFS_EXTRAS=y CONFIG_PRISM2_USB=m # CONFIG_COMEDI is not set CONFIG_RTL8192U=m @@ -6863,9 +6896,7 @@ CONFIG_VT6656=m # # Accelerometers # -# CONFIG_ADIS16201 is not set # CONFIG_ADIS16203 is not set -# CONFIG_ADIS16209 is not set # CONFIG_ADIS16240 is not set # @@ -6906,24 +6937,14 @@ CONFIG_VT6656=m # CONFIG_AD5933 is not set # -# Light sensors -# -# CONFIG_TSL2x7x is not set - -# # 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 # # Resolver to digital converters # # CONFIG_AD2S90 is not set -# CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set # CONFIG_FB_SM750 is not set CONFIG_FB_XGI=m @@ -6947,6 +6968,14 @@ CONFIG_STAGING_MEDIA=y CONFIG_I2C_BCM2048=m CONFIG_SOC_CAMERA_IMX074=m CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_DC30=m +CONFIG_VIDEO_ZORAN_ZR36060=m +CONFIG_VIDEO_ZORAN_BUZ=m +CONFIG_VIDEO_ZORAN_DC10=m +CONFIG_VIDEO_ZORAN_LML33=m +CONFIG_VIDEO_ZORAN_LML33R10=m +CONFIG_VIDEO_ZORAN_AVS6EYES=m # # Android @@ -6956,12 +6985,6 @@ CONFIG_FIREWIRE_SERIAL=m CONFIG_FWTTY_MAX_TOTAL_PORTS=64 CONFIG_FWTTY_MAX_CARD_PORTS=32 # CONFIG_MTD_SPINAND_MT29F is not set -CONFIG_LNET=m -CONFIG_LNET_MAX_PAYLOAD=1048576 -# CONFIG_LNET_SELFTEST is not set -CONFIG_LNET_XPRT_IB=m -CONFIG_LUSTRE_FS=m -# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set CONFIG_DGNC=m # CONFIG_GS_FPGABOOT is not set # CONFIG_CRYPTO_SKEIN is not set @@ -6977,6 +7000,7 @@ CONFIG_KS7010=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m CONFIG_DRM_VBOXVIDEO=m # CONFIG_PI433 is not set # CONFIG_MTK_MMC is not set @@ -7063,6 +7087,7 @@ CONFIG_PMC_ATOM=y CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m +CONFIG_CHROMEOS_TBMC=m CONFIG_CROS_EC_LPC=m CONFIG_CROS_EC_LPC_MEC=y CONFIG_CROS_EC_PROTO=y @@ -7201,6 +7226,8 @@ CONFIG_IIO_TRIGGERED_EVENT=m # # Accelerometers # +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set CONFIG_BMC150_ACCEL=m @@ -7276,6 +7303,10 @@ CONFIG_HI8435=m # CONFIG_VIPERBOARD_ADC is not set # +# Analog Front Ends +# + +# # Amplifiers # # CONFIG_AD8366 is not set @@ -7320,7 +7351,8 @@ CONFIG_104_QUAD_8=m # CONFIG_AD5504 is not set # CONFIG_AD5624R_SPI is not set # CONFIG_LTC2632 is not set -# CONFIG_AD5686 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set # CONFIG_AD5755 is not set CONFIG_AD5761=m # CONFIG_AD5764 is not set @@ -7334,6 +7366,7 @@ CONFIG_AD5761=m # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set # CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set # # IIO dummy driver @@ -7441,6 +7474,7 @@ CONFIG_MAX44000=m # CONFIG_TCS3472 is not set # CONFIG_SENSORS_TSL2563 is not set # CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set CONFIG_US5182D=m # CONFIG_VCNL4000 is not set @@ -7530,6 +7564,11 @@ CONFIG_SX9500=m # CONFIG_SRF08 is not set # +# Resolver to digital converters +# +# CONFIG_AD2S1200 is not set + +# # Temperature sensors # # CONFIG_MAXIM_THERMOCOUPLE is not set @@ -7633,6 +7672,7 @@ CONFIG_ALTERA_PR_IP_CORE=m CONFIG_FPGA_MGR_ALTERA_PS_SPI=m CONFIG_FPGA_MGR_ALTERA_CVP=m CONFIG_FPGA_MGR_XILINX_SPI=m +CONFIG_FPGA_MGR_MACHXO2_SPI=m # CONFIG_FPGA_BRIDGE is not set CONFIG_PM_OPP=y CONFIG_UNISYS_VISORBUS=m @@ -7672,6 +7712,7 @@ CONFIG_EFI_CAPSULE_LOADER=m CONFIG_APPLE_PROPERTIES=y CONFIG_RESET_ATTACK_MITIGATION=y CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_X86=y CONFIG_EFI_DEV_PATH_PARSER=y # @@ -7761,6 +7802,7 @@ CONFIG_QFMT_V2=m CONFIG_QUOTACTL=y CONFIG_QUOTACTL_COMPAT=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -7788,7 +7830,6 @@ CONFIG_ISO9660_FS=m CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -7807,6 +7848,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_PROC_CHILDREN=y @@ -7817,6 +7859,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m CONFIG_EFIVAR_FS=m @@ -8097,6 +8140,7 @@ CONFIG_HAVE_DEBUG_STACKOVERFLOW=y CONFIG_HAVE_ARCH_KASAN=y # CONFIG_KASAN is not set CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set # CONFIG_DEBUG_SHIRQ is not set @@ -8169,16 +8213,16 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 CONFIG_NOTIFIER_ERROR_INJECTION=m CONFIG_PM_NOTIFIER_ERROR_INJECT=m CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m -CONFIG_FAULT_INJECTION=y CONFIG_FUNCTION_ERROR_INJECTION=y +CONFIG_FAULT_INJECTION=y # CONFIG_FAILSLAB is not set # CONFIG_FAIL_PAGE_ALLOC is not set CONFIG_FAIL_MAKE_REQUEST=y # CONFIG_FAIL_IO_TIMEOUT is not set -# CONFIG_FAIL_MMC_REQUEST is not set # CONFIG_FAIL_FUTEX is not set -# CONFIG_FAIL_FUNCTION is not set CONFIG_FAULT_INJECTION_DEBUG_FS=y +# CONFIG_FAIL_FUNCTION is not set +# CONFIG_FAIL_MMC_REQUEST is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y @@ -8252,6 +8296,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_PARMAN is not set @@ -8384,6 +8429,7 @@ CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_ADD_XATTRS=y # CONFIG_EVM_LOAD_X509 is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -8443,6 +8489,19 @@ CONFIG_CRYPTO_ENGINE=m CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128L=m +CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m +CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2=m +CONFIG_CRYPTO_AEGIS256_AESNI_SSE2=m +CONFIG_CRYPTO_MORUS640=m +CONFIG_CRYPTO_MORUS640_GLUE=m +CONFIG_CRYPTO_MORUS640_SSE2=m +CONFIG_CRYPTO_MORUS1280=m +CONFIG_CRYPTO_MORUS1280_GLUE=m +CONFIG_CRYPTO_MORUS1280_SSE2=m +CONFIG_CRYPTO_MORUS1280_AVX2=m CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=m @@ -8527,7 +8586,6 @@ CONFIG_CRYPTO_DES3_EDE_X86_64=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m -CONFIG_CRYPTO_SALSA20_X86_64=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_SEED=m @@ -8552,6 +8610,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=m CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m # # Random Number Generation @@ -8707,8 +8766,13 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_IOMMU_HELPER=y CONFIG_DMA_DIRECT_OPS=y CONFIG_DMA_VIRT_OPS=y +CONFIG_SWIOTLB=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPU_RMAP=y CONFIG_DQL=y @@ -8732,6 +8796,7 @@ CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_UACCESS_MCSAFE=y CONFIG_SBITMAP=y CONFIG_PARMAN=m # CONFIG_STRING_SELFTEST is not set diff --git a/config/x86_64/kvmsmall b/config/x86_64/kvmsmall index f80eafd..927b6de 100644 --- a/config/x86_64/kvmsmall +++ b/config/x86_64/kvmsmall @@ -129,7 +129,6 @@ # CONFIG_EXTCON is not set # CONFIG_F2FS_FS is not set # CONFIG_F71808E_WDT is not set -# CONFIG_FB_AUO_K190X is not set # CONFIG_FB_BROADSHEET is not set # CONFIG_FB_I740 is not set # CONFIG_FB_IBM_GXT4500 is not set diff --git a/patches.kernel.org/4.17.1-001-netfilter-nf_flow_table-attach-dst-to-skbs.patch b/patches.kernel.org/4.17.1-001-netfilter-nf_flow_table-attach-dst-to-skbs.patch deleted file mode 100644 index 053e9a6..0000000 --- a/patches.kernel.org/4.17.1-001-netfilter-nf_flow_table-attach-dst-to-skbs.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: "Jason A. Donenfeld" -Date: Wed, 30 May 2018 20:43:15 +0200 -Subject: [PATCH] netfilter: nf_flow_table: attach dst to skbs -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 2a79fd3908acd88e6cb0e620c314d7b1fee56a02 - -commit 2a79fd3908acd88e6cb0e620c314d7b1fee56a02 upstream. - -Some drivers, such as vxlan and wireguard, use the skb's dst in order to -determine things like PMTU. They therefore loose functionality when flow -offloading is enabled. So, we ensure the skb has it before xmit'ing it -in the offloading path. - -Signed-off-by: Jason A. Donenfeld -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/ipv4/netfilter/nf_flow_table_ipv4.c | 5 +++-- - net/ipv6/netfilter/nf_flow_table_ipv6.c | 1 + - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/net/ipv4/netfilter/nf_flow_table_ipv4.c b/net/ipv4/netfilter/nf_flow_table_ipv4.c -index 0cd46bffa469..fc3923932eda 100644 ---- a/net/ipv4/netfilter/nf_flow_table_ipv4.c -+++ b/net/ipv4/netfilter/nf_flow_table_ipv4.c -@@ -213,7 +213,7 @@ nf_flow_offload_ip_hook(void *priv, struct sk_buff *skb, - enum flow_offload_tuple_dir dir; - struct flow_offload *flow; - struct net_device *outdev; -- const struct rtable *rt; -+ struct rtable *rt; - struct iphdr *iph; - __be32 nexthop; - -@@ -234,7 +234,7 @@ nf_flow_offload_ip_hook(void *priv, struct sk_buff *skb, - dir = tuplehash->tuple.dir; - flow = container_of(tuplehash, struct flow_offload, tuplehash[dir]); - -- rt = (const struct rtable *)flow->tuplehash[dir].tuple.dst_cache; -+ rt = (struct rtable *)flow->tuplehash[dir].tuple.dst_cache; - if (unlikely(nf_flow_exceeds_mtu(skb, rt))) - return NF_ACCEPT; - -@@ -251,6 +251,7 @@ nf_flow_offload_ip_hook(void *priv, struct sk_buff *skb, - - skb->dev = outdev; - nexthop = rt_nexthop(rt, flow->tuplehash[!dir].tuple.src_v4.s_addr); -+ skb_dst_set_noref(skb, &rt->dst); - neigh_xmit(NEIGH_ARP_TABLE, outdev, &nexthop, skb); - - return NF_STOLEN; -diff --git a/net/ipv6/netfilter/nf_flow_table_ipv6.c b/net/ipv6/netfilter/nf_flow_table_ipv6.c -index 207cb35569b1..2d6652146bba 100644 ---- a/net/ipv6/netfilter/nf_flow_table_ipv6.c -+++ b/net/ipv6/netfilter/nf_flow_table_ipv6.c -@@ -243,6 +243,7 @@ nf_flow_offload_ipv6_hook(void *priv, struct sk_buff *skb, - - skb->dev = outdev; - nexthop = rt6_nexthop(rt, &flow->tuplehash[!dir].tuple.src_v6); -+ skb_dst_set_noref(skb, &rt->dst); - neigh_xmit(NEIGH_ND_TABLE, outdev, nexthop, skb); - - return NF_STOLEN; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-002-bnx2x-use-the-right-constant.patch b/patches.kernel.org/4.17.1-002-bnx2x-use-the-right-constant.patch deleted file mode 100644 index 718d8b5..0000000 --- a/patches.kernel.org/4.17.1-002-bnx2x-use-the-right-constant.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Julia Lawall -Date: Wed, 6 Jun 2018 15:03:22 +0200 -Subject: [PATCH] bnx2x: use the right constant -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: dd612f18a49b63af8b3a5f572d999bdb197385bc - -[ Upstream commit dd612f18a49b63af8b3a5f572d999bdb197385bc ] - -Nearby code that also tests port suggests that the P0 constant should be -used when port is zero. - -The semantic match that finds this problem is as follows: -(http://coccinelle.lip6.fr/) - -// -@@ -expression e,e1; -@@ - -* e ? e1 : e1 -// - -Fixes: 6c3218c6f7e5 ("bnx2x: Adjust ETS to 578xx") -Signed-off-by: Julia Lawall -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c -index 7dd83d0ef0a0..22243c480a05 100644 ---- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c -+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c -@@ -588,7 +588,7 @@ static void bnx2x_ets_e3b0_nig_disabled(const struct link_params *params, - * slots for the highest priority. - */ - REG_WR(bp, (port) ? NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS : -- NIG_REG_P1_TX_ARB_NUM_STRICT_ARB_SLOTS, 0x100); -+ NIG_REG_P0_TX_ARB_NUM_STRICT_ARB_SLOTS, 0x100); - /* Mapping between the CREDIT_WEIGHT registers and actual client - * numbers - */ --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-003-ip6mr-only-set-ip6mr_table-from-setsockopt-whe.patch b/patches.kernel.org/4.17.1-003-ip6mr-only-set-ip6mr_table-from-setsockopt-whe.patch deleted file mode 100644 index d3dcec4..0000000 --- a/patches.kernel.org/4.17.1-003-ip6mr-only-set-ip6mr_table-from-setsockopt-whe.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Sabrina Dubroca -Date: Tue, 5 Jun 2018 15:01:59 +0200 -Subject: [PATCH] ip6mr: only set ip6mr_table from setsockopt when - ip6mr_new_table succeeds -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 848235edb5c93ed086700584c8ff64f6d7fc778d - -[ Upstream commit 848235edb5c93ed086700584c8ff64f6d7fc778d ] - -Currently, raw6_sk(sk)->ip6mr_table is set unconditionally during -ip6_mroute_setsockopt(MRT6_TABLE). A subsequent attempt at the same -setsockopt will fail with -ENOENT, since we haven't actually created -that table. - -A similar fix for ipv4 was included in commit 5e1859fbcc3c ("ipv4: ipmr: -various fixes and cleanups"). - -Fixes: d1db275dd3f6 ("ipv6: ip6mr: support multiple tables") -Signed-off-by: Sabrina Dubroca -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/ipv6/ip6mr.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c -index 298fd8b6ed17..42eca2689c3b 100644 ---- a/net/ipv6/ip6mr.c -+++ b/net/ipv6/ip6mr.c -@@ -1759,7 +1759,8 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns - ret = 0; - if (!ip6mr_new_table(net, v)) - ret = -ENOMEM; -- raw6_sk(sk)->ip6mr_table = v; -+ else -+ raw6_sk(sk)->ip6mr_table = v; - rtnl_unlock(); - return ret; - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-004-ipv6-omit-traffic-class-when-calculating-flow-.patch b/patches.kernel.org/4.17.1-004-ipv6-omit-traffic-class-when-calculating-flow-.patch deleted file mode 100644 index cdc4ef3..0000000 --- a/patches.kernel.org/4.17.1-004-ipv6-omit-traffic-class-when-calculating-flow-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From: Michal Kubecek -Date: Mon, 4 Jun 2018 11:36:05 +0200 -Subject: [PATCH] ipv6: omit traffic class when calculating flow hash -Patch-mainline: 4.17.1 -References: bnc#1012628 bsc#1095042 -Git-commit: fa1be7e01ea863e911349e30456706749518eeab - -[ Upstream commit fa1be7e01ea863e911349e30456706749518eeab ] - -Some of the code paths calculating flow hash for IPv6 use flowlabel member -of struct flowi6 which, despite its name, encodes both flow label and -traffic class. If traffic class changes within a TCP connection (as e.g. -ssh does), ECMP route can switch between path. It's also inconsistent with -other code paths where ip6_flowlabel() (returning only flow label) is used -to feed the key. - -Use only flow label everywhere, including one place where hash key is set -using ip6_flowinfo(). - -Fixes: 51ebd3181572 ("ipv6: add support of equal cost multipath (ECMP)") -Fixes: f70ea018da06 ("net: Add functions to get skb->hash based on flow structures") -Signed-off-by: Michal Kubecek -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - include/net/ipv6.h | 5 +++++ - net/core/flow_dissector.c | 2 +- - net/ipv6/route.c | 4 ++-- - 3 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/include/net/ipv6.h b/include/net/ipv6.h -index 836f31af1369..a406f2e8680a 100644 ---- a/include/net/ipv6.h -+++ b/include/net/ipv6.h -@@ -906,6 +906,11 @@ static inline __be32 ip6_make_flowinfo(unsigned int tclass, __be32 flowlabel) - return htonl(tclass << IPV6_TCLASS_SHIFT) | flowlabel; - } - -+static inline __be32 flowi6_get_flowlabel(const struct flowi6 *fl6) -+{ -+ return fl6->flowlabel & IPV6_FLOWLABEL_MASK; -+} -+ - /* - * Prototypes exported by ipv6 - */ -diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c -index d29f09bc5ff9..0234f8d1f0ac 100644 ---- a/net/core/flow_dissector.c -+++ b/net/core/flow_dissector.c -@@ -1334,7 +1334,7 @@ __u32 __get_hash_from_flowi6(const struct flowi6 *fl6, struct flow_keys *keys) - keys->ports.src = fl6->fl6_sport; - keys->ports.dst = fl6->fl6_dport; - keys->keyid.keyid = fl6->fl6_gre_key; -- keys->tags.flow_label = (__force u32)fl6->flowlabel; -+ keys->tags.flow_label = (__force u32)flowi6_get_flowlabel(fl6); - keys->basic.ip_proto = fl6->flowi6_proto; - - return flow_hash_from_keys(keys); -diff --git a/net/ipv6/route.c b/net/ipv6/route.c -index f4d61736c41a..4530a82aaa2e 100644 ---- a/net/ipv6/route.c -+++ b/net/ipv6/route.c -@@ -1868,7 +1868,7 @@ static void ip6_multipath_l3_keys(const struct sk_buff *skb, - } else { - keys->addrs.v6addrs.src = key_iph->saddr; - keys->addrs.v6addrs.dst = key_iph->daddr; -- keys->tags.flow_label = ip6_flowinfo(key_iph); -+ keys->tags.flow_label = ip6_flowlabel(key_iph); - keys->basic.ip_proto = key_iph->nexthdr; - } - } -@@ -1889,7 +1889,7 @@ u32 rt6_multipath_hash(const struct net *net, const struct flowi6 *fl6, - } else { - hash_keys.addrs.v6addrs.src = fl6->saddr; - hash_keys.addrs.v6addrs.dst = fl6->daddr; -- hash_keys.tags.flow_label = (__force u32)fl6->flowlabel; -+ hash_keys.tags.flow_label = (__force u32)flowi6_get_flowlabel(fl6); - hash_keys.basic.ip_proto = fl6->flowi6_proto; - } - break; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-005-l2tp-fix-refcount-leakage-on-PPPoL2TP-sockets.patch b/patches.kernel.org/4.17.1-005-l2tp-fix-refcount-leakage-on-PPPoL2TP-sockets.patch deleted file mode 100644 index 2c6bcd3..0000000 --- a/patches.kernel.org/4.17.1-005-l2tp-fix-refcount-leakage-on-PPPoL2TP-sockets.patch +++ /dev/null @@ -1,151 +0,0 @@ -From: Guillaume Nault -Date: Mon, 4 Jun 2018 18:52:19 +0200 -Subject: [PATCH] l2tp: fix refcount leakage on PPPoL2TP sockets -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 3d609342cc04129ff7568e19316ce3d7451a27e8 - -[ Upstream commit 3d609342cc04129ff7568e19316ce3d7451a27e8 ] - -Commit d02ba2a6110c ("l2tp: fix race in pppol2tp_release with session -object destroy") tried to fix a race condition where a PPPoL2TP socket -would disappear while the L2TP session was still using it. However, it -missed the root issue which is that an L2TP session may accept to be -reconnected if its associated socket has entered the release process. - -The tentative fix makes the session hold the socket it is connected to. -That saves the kernel from crashing, but introduces refcount leakage, -preventing the socket from completing the release process. Once stalled, -everything the socket depends on can't be released anymore, including -the L2TP session and the l2tp_ppp module. - -The root issue is that, when releasing a connected PPPoL2TP socket, the -session's ->sk pointer (RCU-protected) is reset to NULL and we have to -wait for a grace period before destroying the socket. The socket drops -the session in its ->sk_destruct callback function, so the session -will exist until the last reference on the socket is dropped. -Therefore, there is a time frame where pppol2tp_connect() may accept -reconnecting a session, as it only checks ->sk to figure out if the -session is connected. This time frame is shortened by the fact that -pppol2tp_release() calls l2tp_session_delete(), making the session -unreachable before resetting ->sk. However, pppol2tp_connect() may -grab the session before it gets unhashed by l2tp_session_delete(), but -it may test ->sk after the later got reset. The race is not so hard to -trigger and syzbot found a pretty reliable reproducer: -https://syzkaller.appspot.com/bug?id=418578d2a4389074524e04d641eacb091961b2cf - -Before d02ba2a6110c, another race could let pppol2tp_release() -overwrite the ->__sk pointer of an L2TP session, thus tricking -pppol2tp_put_sk() into calling sock_put() on a socket that is different -than the one for which pppol2tp_release() was originally called. To get -there, we had to trigger the race described above, therefore having one -PPPoL2TP socket being released, while the session it is connected to is -reconnecting to a different PPPoL2TP socket. When releasing this new -socket fast enough, pppol2tp_release() overwrites the session's -->__sk pointer with the address of the new socket, before the first -pppol2tp_put_sk() call gets scheduled. Then the pppol2tp_put_sk() call -invoked by the original socket will sock_put() the new socket, -potentially dropping its last reference. When the second -pppol2tp_put_sk() finally runs, its socket has already been freed. - -With d02ba2a6110c, the session takes a reference on both sockets. -Furthermore, the session's ->sk pointer is reset in the -pppol2tp_session_close() callback function rather than in -pppol2tp_release(). Therefore, ->__sk can't be overwritten and -pppol2tp_put_sk() is called only once (l2tp_session_delete() will only -run pppol2tp_session_close() once, to protect the session against -concurrent deletion requests). Now pppol2tp_put_sk() will properly -sock_put() the original socket, but the new socket will remain, as -l2tp_session_delete() prevented the release process from completing. -Here, we don't depend on the ->__sk race to trigger the bug. Getting -into the pppol2tp_connect() race is enough to leak the reference, no -matter when new socket is released. - -So it all boils down to pppol2tp_connect() failing to realise that the -session has already been connected. This patch drops the unneeded extra -reference counting (mostly reverting d02ba2a6110c) and checks that -neither ->sk nor ->__sk is set before allowing a session to be -connected. - -Fixes: d02ba2a6110c ("l2tp: fix race in pppol2tp_release with session object destroy") -Signed-off-by: Guillaume Nault -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/l2tp/l2tp_ppp.c | 35 +++++++++++++++++------------------ - 1 file changed, 17 insertions(+), 18 deletions(-) - -diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c -index 1fd9e145076a..466f17646625 100644 ---- a/net/l2tp/l2tp_ppp.c -+++ b/net/l2tp/l2tp_ppp.c -@@ -428,16 +428,6 @@ static void pppol2tp_put_sk(struct rcu_head *head) - */ - static void pppol2tp_session_close(struct l2tp_session *session) - { -- struct pppol2tp_session *ps; -- -- ps = l2tp_session_priv(session); -- mutex_lock(&ps->sk_lock); -- ps->__sk = rcu_dereference_protected(ps->sk, -- lockdep_is_held(&ps->sk_lock)); -- RCU_INIT_POINTER(ps->sk, NULL); -- if (ps->__sk) -- call_rcu(&ps->rcu, pppol2tp_put_sk); -- mutex_unlock(&ps->sk_lock); - } - - /* Really kill the session socket. (Called from sock_put() if -@@ -480,15 +470,24 @@ static int pppol2tp_release(struct socket *sock) - sock_orphan(sk); - sock->sk = NULL; - -- /* If the socket is associated with a session, -- * l2tp_session_delete will call pppol2tp_session_close which -- * will drop the session's ref on the socket. -- */ - session = pppol2tp_sock_to_session(sk); - if (session) { -+ struct pppol2tp_session *ps; -+ - l2tp_session_delete(session); -- /* drop the ref obtained by pppol2tp_sock_to_session */ -- sock_put(sk); -+ -+ ps = l2tp_session_priv(session); -+ mutex_lock(&ps->sk_lock); -+ ps->__sk = rcu_dereference_protected(ps->sk, -+ lockdep_is_held(&ps->sk_lock)); -+ RCU_INIT_POINTER(ps->sk, NULL); -+ mutex_unlock(&ps->sk_lock); -+ call_rcu(&ps->rcu, pppol2tp_put_sk); -+ -+ /* Rely on the sock_put() call at the end of the function for -+ * dropping the reference held by pppol2tp_sock_to_session(). -+ * The last reference will be dropped by pppol2tp_put_sk(). -+ */ - } - - release_sock(sk); -@@ -742,7 +741,8 @@ static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr, - */ - mutex_lock(&ps->sk_lock); - if (rcu_dereference_protected(ps->sk, -- lockdep_is_held(&ps->sk_lock))) { -+ lockdep_is_held(&ps->sk_lock)) || -+ ps->__sk) { - mutex_unlock(&ps->sk_lock); - error = -EEXIST; - goto end; -@@ -803,7 +803,6 @@ static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr, - - out_no_ppp: - /* This is how we get the session context from the socket. */ -- sock_hold(sk); - sk->sk_user_data = session; - rcu_assign_pointer(ps->sk, sk); - mutex_unlock(&ps->sk_lock); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-006-netdev-FAQ-clarify-DaveM-s-position-for-stable.patch b/patches.kernel.org/4.17.1-006-netdev-FAQ-clarify-DaveM-s-position-for-stable.patch deleted file mode 100644 index 4f5f194..0000000 --- a/patches.kernel.org/4.17.1-006-netdev-FAQ-clarify-DaveM-s-position-for-stable.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Cong Wang -Date: Tue, 5 Jun 2018 09:48:13 -0700 -Subject: [PATCH] netdev-FAQ: clarify DaveM's position for stable backports -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 75d4e704fa8d2cf33ff295e5b441317603d7f9fd - -[ Upstream commit 75d4e704fa8d2cf33ff295e5b441317603d7f9fd ] - -Per discussion with David at netconf 2018, let's clarify -DaveM's position of handling stable backports in netdev-FAQ. - -This is important for people relying on upstream -stable -releases. - -Cc: Greg Kroah-Hartman -Signed-off-by: Cong Wang -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - Documentation/networking/netdev-FAQ.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/Documentation/networking/netdev-FAQ.txt b/Documentation/networking/netdev-FAQ.txt -index 2a3278d5cf35..fa951b820b25 100644 ---- a/Documentation/networking/netdev-FAQ.txt -+++ b/Documentation/networking/netdev-FAQ.txt -@@ -179,6 +179,15 @@ A: No. See above answer. In short, if you think it really belongs in - dash marker line as described in Documentation/process/submitting-patches.rst to - temporarily embed that information into the patch that you send. - -+Q: Are all networking bug fixes backported to all stable releases? -+ -+A: Due to capacity, Dave could only take care of the backports for the last -+ 2 stable releases. For earlier stable releases, each stable branch maintainer -+ is supposed to take care of them. If you find any patch is missing from an -+ earlier stable branch, please notify stable@vger.kernel.org with either a -+ commit ID or a formal patch backported, and CC Dave and other relevant -+ networking developers. -+ - Q: Someone said that the comment style and coding convention is different - for the networking content. Is this true? - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-007-net-metrics-add-proper-netlink-validation.patch b/patches.kernel.org/4.17.1-007-net-metrics-add-proper-netlink-validation.patch deleted file mode 100644 index 71cb9b7..0000000 --- a/patches.kernel.org/4.17.1-007-net-metrics-add-proper-netlink-validation.patch +++ /dev/null @@ -1,135 +0,0 @@ -From: Eric Dumazet -Date: Tue, 5 Jun 2018 06:06:19 -0700 -Subject: [PATCH] net: metrics: add proper netlink validation -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 5b5e7a0de2bbf2a1afcd9f49e940010e9fb80d53 - -[ Upstream commit 5b5e7a0de2bbf2a1afcd9f49e940010e9fb80d53 ] - -Before using nla_get_u32(), better make sure the attribute -is of the proper size. - -Code recently was changed, but bug has been there from beginning -of git. - -BUG: KMSAN: uninit-value in rtnetlink_put_metrics+0x553/0x960 net/core/rtnetlink.c:746 -CPU: 1 PID: 14139 Comm: syz-executor6 Not tainted 4.17.0-rc5+ #103 -Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 -Call Trace: - __dump_stack lib/dump_stack.c:77 [inline] - dump_stack+0x185/0x1d0 lib/dump_stack.c:113 - kmsan_report+0x149/0x260 mm/kmsan/kmsan.c:1084 - __msan_warning_32+0x6e/0xc0 mm/kmsan/kmsan_instr.c:686 - rtnetlink_put_metrics+0x553/0x960 net/core/rtnetlink.c:746 - fib_dump_info+0xc42/0x2190 net/ipv4/fib_semantics.c:1361 - rtmsg_fib+0x65f/0x8c0 net/ipv4/fib_semantics.c:419 - fib_table_insert+0x2314/0x2b50 net/ipv4/fib_trie.c:1287 - inet_rtm_newroute+0x210/0x340 net/ipv4/fib_frontend.c:779 - rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646 - netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448 - rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664 - netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline] - netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336 - netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 -RIP: 0033:0x455a09 -RSP: 002b:00007faae5fd8c68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e -RAX: ffffffffffffffda RBX: 00007faae5fd96d4 RCX: 0000000000455a09 -RDX: 0000000000000000 RSI: 0000000020000000 RDI: 0000000000000013 -RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000000 -R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff -R13: 00000000000005d0 R14: 00000000006fdc20 R15: 0000000000000000 - -Uninit was stored to memory at: - kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline] - kmsan_save_stack mm/kmsan/kmsan.c:294 [inline] - kmsan_internal_chain_origin+0x12b/0x210 mm/kmsan/kmsan.c:685 - __msan_chain_origin+0x69/0xc0 mm/kmsan/kmsan_instr.c:529 - fib_convert_metrics net/ipv4/fib_semantics.c:1056 [inline] - fib_create_info+0x2d46/0x9dc0 net/ipv4/fib_semantics.c:1150 - fib_table_insert+0x3e4/0x2b50 net/ipv4/fib_trie.c:1146 - inet_rtm_newroute+0x210/0x340 net/ipv4/fib_frontend.c:779 - rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646 - netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448 - rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664 - netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline] - netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336 - netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 -Uninit was created at: - kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline] - kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189 - kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315 - kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322 - slab_post_alloc_hook mm/slab.h:446 [inline] - slab_alloc_node mm/slub.c:2753 [inline] - __kmalloc_node_track_caller+0xb32/0x11b0 mm/slub.c:4395 - __kmalloc_reserve net/core/skbuff.c:138 [inline] - __alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206 - alloc_skb include/linux/skbuff.h:988 [inline] - netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline] - netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 - -Fixes: a919525ad832 ("net: Move fib_convert_metrics to metrics file") -Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") -Signed-off-by: Eric Dumazet -Reported-by: syzbot -Cc: David Ahern -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/ipv4/fib_semantics.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c -index c27122f01b87..cfae17335705 100644 ---- a/net/ipv4/fib_semantics.c -+++ b/net/ipv4/fib_semantics.c -@@ -717,6 +717,8 @@ bool fib_metrics_match(struct fib_config *cfg, struct fib_info *fi) - nla_strlcpy(tmp, nla, sizeof(tmp)); - val = tcp_ca_get_key_by_name(fi->fib_net, tmp, &ecn_ca); - } else { -+ if (nla_len(nla) != sizeof(u32)) -+ return false; - val = nla_get_u32(nla); - } - -@@ -1043,6 +1045,8 @@ fib_convert_metrics(struct fib_info *fi, const struct fib_config *cfg) - if (val == TCP_CA_UNSPEC) - return -EINVAL; - } else { -+ if (nla_len(nla) != sizeof(u32)) -+ return -EINVAL; - val = nla_get_u32(nla); - } - if (type == RTAX_ADVMSS && val > 65535 - 40) --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-008-net-packet-refine-check-for-priv-area-size.patch b/patches.kernel.org/4.17.1-008-net-packet-refine-check-for-priv-area-size.patch deleted file mode 100644 index c2622fb..0000000 --- a/patches.kernel.org/4.17.1-008-net-packet-refine-check-for-priv-area-size.patch +++ /dev/null @@ -1,100 +0,0 @@ -From: Eric Dumazet -Date: Fri, 1 Jun 2018 09:23:02 -0700 -Subject: [PATCH] net/packet: refine check for priv area size -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: eb73190f4fbeedf762394e92d6a4ec9ace684c88 - -[ Upstream commit eb73190f4fbeedf762394e92d6a4ec9ace684c88 ] - -syzbot was able to trick af_packet again [1] - -Various commits tried to address the problem in the past, -but failed to take into account V3 header size. - -[1] - -tpacket_rcv: packet too big, clamped from 72 to 4294967224. macoff=96 -BUG: KASAN: use-after-free in prb_run_all_ft_ops net/packet/af_packet.c:1016 [inline] -BUG: KASAN: use-after-free in prb_fill_curr_block.isra.59+0x4e5/0x5c0 net/packet/af_packet.c:1039 -Write of size 2 at addr ffff8801cb62000e by task kworker/1:2/2106 - -CPU: 1 PID: 2106 Comm: kworker/1:2 Not tainted 4.17.0-rc7+ #77 -Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 -Workqueue: ipv6_addrconf addrconf_dad_work -Call Trace: - __dump_stack lib/dump_stack.c:77 [inline] - dump_stack+0x1b9/0x294 lib/dump_stack.c:113 - print_address_description+0x6c/0x20b mm/kasan/report.c:256 - kasan_report_error mm/kasan/report.c:354 [inline] - kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412 - __asan_report_store2_noabort+0x17/0x20 mm/kasan/report.c:436 - prb_run_all_ft_ops net/packet/af_packet.c:1016 [inline] - prb_fill_curr_block.isra.59+0x4e5/0x5c0 net/packet/af_packet.c:1039 - __packet_lookup_frame_in_block net/packet/af_packet.c:1094 [inline] - packet_current_rx_frame net/packet/af_packet.c:1117 [inline] - tpacket_rcv+0x1866/0x3340 net/packet/af_packet.c:2282 - dev_queue_xmit_nit+0x891/0xb90 net/core/dev.c:2018 - xmit_one net/core/dev.c:3049 [inline] - dev_hard_start_xmit+0x16b/0xc10 net/core/dev.c:3069 - __dev_queue_xmit+0x2724/0x34c0 net/core/dev.c:3584 - dev_queue_xmit+0x17/0x20 net/core/dev.c:3617 - neigh_resolve_output+0x679/0xad0 net/core/neighbour.c:1358 - neigh_output include/net/neighbour.h:482 [inline] - ip6_finish_output2+0xc9c/0x2810 net/ipv6/ip6_output.c:120 - ip6_finish_output+0x5fe/0xbc0 net/ipv6/ip6_output.c:154 - NF_HOOK_COND include/linux/netfilter.h:277 [inline] - ip6_output+0x227/0x9b0 net/ipv6/ip6_output.c:171 - dst_output include/net/dst.h:444 [inline] - NF_HOOK include/linux/netfilter.h:288 [inline] - ndisc_send_skb+0x100d/0x1570 net/ipv6/ndisc.c:491 - ndisc_send_ns+0x3c1/0x8d0 net/ipv6/ndisc.c:633 - addrconf_dad_work+0xbef/0x1340 net/ipv6/addrconf.c:4033 - process_one_work+0xc1e/0x1b50 kernel/workqueue.c:2145 - worker_thread+0x1cc/0x1440 kernel/workqueue.c:2279 - kthread+0x345/0x410 kernel/kthread.c:240 - ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412 - -The buggy address belongs to the page: -page:ffffea00072d8800 count:0 mapcount:-127 mapping:0000000000000000 index:0xffff8801cb620e80 -flags: 0x2fffc0000000000() -raw: 02fffc0000000000 0000000000000000 ffff8801cb620e80 00000000ffffff80 -raw: ffffea00072e3820 ffffea0007132d20 0000000000000002 0000000000000000 -page dumped because: kasan: bad access detected - -Memory state around the buggy address: - ffff8801cb61ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ffff8801cb61ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ->ffff8801cb620000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff - ^ - ffff8801cb620080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff - ffff8801cb620100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff - -Fixes: 2b6867c2ce76 ("net/packet: fix overflow in check for priv area size") -Fixes: dc808110bb62 ("packet: handle too big packets for PACKET_V3") -Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.") -Signed-off-by: Eric Dumazet -Reported-by: syzbot -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/packet/af_packet.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c -index acb7b86574cd..60c2a252bdf5 100644 ---- a/net/packet/af_packet.c -+++ b/net/packet/af_packet.c -@@ -4282,7 +4282,7 @@ static int packet_set_ring(struct sock *sk, union tpacket_req_u *req_u, - goto out; - if (po->tp_version >= TPACKET_V3 && - req->tp_block_size <= -- BLK_PLUS_PRIV((u64)req_u->req3.tp_sizeof_priv)) -+ BLK_PLUS_PRIV((u64)req_u->req3.tp_sizeof_priv) + sizeof(struct tpacket3_hdr)) - goto out; - if (unlikely(req->tp_frame_size < po->tp_hdrlen + - po->tp_reserve)) --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-009-rtnetlink-validate-attributes-in-do_setlink.patch b/patches.kernel.org/4.17.1-009-rtnetlink-validate-attributes-in-do_setlink.patch deleted file mode 100644 index dcdbba3..0000000 --- a/patches.kernel.org/4.17.1-009-rtnetlink-validate-attributes-in-do_setlink.patch +++ /dev/null @@ -1,145 +0,0 @@ -From: Eric Dumazet -Date: Tue, 5 Jun 2018 09:25:19 -0700 -Subject: [PATCH] rtnetlink: validate attributes in do_setlink() -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 644c7eebbfd59e72982d11ec6cc7d39af12450ae - -[ Upstream commit 644c7eebbfd59e72982d11ec6cc7d39af12450ae ] - -It seems that rtnl_group_changelink() can call do_setlink -while a prior call to validate_linkmsg(dev = NULL, ...) could -not validate IFLA_ADDRESS / IFLA_BROADCAST - -Make sure do_setlink() calls validate_linkmsg() instead -of letting its callers having this responsibility. - -With help from Dmitry Vyukov, thanks a lot ! - -BUG: KMSAN: uninit-value in is_valid_ether_addr include/linux/etherdevice.h:199 [inline] -BUG: KMSAN: uninit-value in eth_prepare_mac_addr_change net/ethernet/eth.c:275 [inline] -BUG: KMSAN: uninit-value in eth_mac_addr+0x203/0x2b0 net/ethernet/eth.c:308 -CPU: 1 PID: 8695 Comm: syz-executor3 Not tainted 4.17.0-rc5+ #103 -Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 -Call Trace: - __dump_stack lib/dump_stack.c:77 [inline] - dump_stack+0x185/0x1d0 lib/dump_stack.c:113 - kmsan_report+0x149/0x260 mm/kmsan/kmsan.c:1084 - __msan_warning_32+0x6e/0xc0 mm/kmsan/kmsan_instr.c:686 - is_valid_ether_addr include/linux/etherdevice.h:199 [inline] - eth_prepare_mac_addr_change net/ethernet/eth.c:275 [inline] - eth_mac_addr+0x203/0x2b0 net/ethernet/eth.c:308 - dev_set_mac_address+0x261/0x530 net/core/dev.c:7157 - do_setlink+0xbc3/0x5fc0 net/core/rtnetlink.c:2317 - rtnl_group_changelink net/core/rtnetlink.c:2824 [inline] - rtnl_newlink+0x1fe9/0x37a0 net/core/rtnetlink.c:2976 - rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646 - netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448 - rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664 - netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline] - netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336 - netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 -RIP: 0033:0x455a09 -RSP: 002b:00007fc07480ec68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e -RAX: ffffffffffffffda RBX: 00007fc07480f6d4 RCX: 0000000000455a09 -RDX: 0000000000000000 RSI: 00000000200003c0 RDI: 0000000000000014 -RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000000 -R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff -R13: 00000000000005d0 R14: 00000000006fdc20 R15: 0000000000000000 - -Uninit was stored to memory at: - kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline] - kmsan_save_stack mm/kmsan/kmsan.c:294 [inline] - kmsan_internal_chain_origin+0x12b/0x210 mm/kmsan/kmsan.c:685 - kmsan_memcpy_origins+0x11d/0x170 mm/kmsan/kmsan.c:527 - __msan_memcpy+0x109/0x160 mm/kmsan/kmsan_instr.c:478 - do_setlink+0xb84/0x5fc0 net/core/rtnetlink.c:2315 - rtnl_group_changelink net/core/rtnetlink.c:2824 [inline] - rtnl_newlink+0x1fe9/0x37a0 net/core/rtnetlink.c:2976 - rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646 - netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448 - rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664 - netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline] - netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336 - netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 -Uninit was created at: - kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline] - kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189 - kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315 - kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322 - slab_post_alloc_hook mm/slab.h:446 [inline] - slab_alloc_node mm/slub.c:2753 [inline] - __kmalloc_node_track_caller+0xb32/0x11b0 mm/slub.c:4395 - __kmalloc_reserve net/core/skbuff.c:138 [inline] - __alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206 - alloc_skb include/linux/skbuff.h:988 [inline] - netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline] - netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876 - sock_sendmsg_nosec net/socket.c:629 [inline] - sock_sendmsg net/socket.c:639 [inline] - ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117 - __sys_sendmsg net/socket.c:2155 [inline] - __do_sys_sendmsg net/socket.c:2164 [inline] - __se_sys_sendmsg net/socket.c:2162 [inline] - __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162 - do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287 - entry_SYSCALL_64_after_hwframe+0x44/0xa9 - -Fixes: e7ed828f10bd ("netlink: support setting devgroup parameters") -Signed-off-by: Eric Dumazet -Reported-by: syzbot -Cc: Dmitry Vyukov -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/core/rtnetlink.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c -index 45936922d7e2..19f6ab5de6e1 100644 ---- a/net/core/rtnetlink.c -+++ b/net/core/rtnetlink.c -@@ -2256,6 +2256,10 @@ static int do_setlink(const struct sk_buff *skb, - const struct net_device_ops *ops = dev->netdev_ops; - int err; - -+ err = validate_linkmsg(dev, tb); -+ if (err < 0) -+ return err; -+ - if (tb[IFLA_NET_NS_PID] || tb[IFLA_NET_NS_FD] || tb[IFLA_IF_NETNSID]) { - struct net *net = rtnl_link_get_net_capable(skb, dev_net(dev), - tb, CAP_NET_ADMIN); -@@ -2619,10 +2623,6 @@ static int rtnl_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, - goto errout; - } - -- err = validate_linkmsg(dev, tb); -- if (err < 0) -- goto errout; -- - err = do_setlink(skb, dev, ifm, extack, tb, ifname, 0); - errout: - return err; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-010-sctp-not-allow-transport-timeout-value-less-th.patch b/patches.kernel.org/4.17.1-010-sctp-not-allow-transport-timeout-value-less-th.patch deleted file mode 100644 index 0d77d24..0000000 --- a/patches.kernel.org/4.17.1-010-sctp-not-allow-transport-timeout-value-less-th.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Xin Long -Date: Tue, 5 Jun 2018 12:16:58 +0800 -Subject: [PATCH] sctp: not allow transport timeout value less than HZ/5 for - hb_timer -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 1d88ba1ebb2763aa86172cd7ca05dedbeccc0d35 - -[ Upstream commit 1d88ba1ebb2763aa86172cd7ca05dedbeccc0d35 ] - -syzbot reported a rcu_sched self-detected stall on CPU which is caused -by too small value set on rto_min with SCTP_RTOINFO sockopt. With this -value, hb_timer will get stuck there, as in its timer handler it starts -this timer again with this value, then goes to the timer handler again. - -This problem is there since very beginning, and thanks to Eric for the -reproducer shared from a syzbot mail. - -This patch fixes it by not allowing sctp_transport_timeout to return a -smaller value than HZ/5 for hb_timer, which is based on TCP's min rto. - -Note that it doesn't fix this issue by limiting rto_min, as some users -are still using small rto and no proper value was found for it yet. - -Reported-by: syzbot+3dcd59a1f907245f891f@syzkaller.appspotmail.com -Suggested-by: Marcelo Ricardo Leitner -Signed-off-by: Xin Long -Acked-by: Neil Horman -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/sctp/transport.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/sctp/transport.c b/net/sctp/transport.c -index 47f82bd794d9..03fc2c427aca 100644 ---- a/net/sctp/transport.c -+++ b/net/sctp/transport.c -@@ -634,7 +634,7 @@ unsigned long sctp_transport_timeout(struct sctp_transport *trans) - trans->state != SCTP_PF) - timeout += trans->hbinterval; - -- return timeout; -+ return max_t(unsigned long, timeout, HZ / 5); - } - - /* Reset transport variables to their initial values */ --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-011-team-use-netdev_features_t-instead-of-u32.patch b/patches.kernel.org/4.17.1-011-team-use-netdev_features_t-instead-of-u32.patch deleted file mode 100644 index 58aa45e..0000000 --- a/patches.kernel.org/4.17.1-011-team-use-netdev_features_t-instead-of-u32.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Dan Carpenter -Date: Mon, 4 Jun 2018 17:46:01 +0300 -Subject: [PATCH] team: use netdev_features_t instead of u32 -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 25ea66544bfd1d9df1b7e1502f8717e85fa1e6e6 - -[ Upstream commit 25ea66544bfd1d9df1b7e1502f8717e85fa1e6e6 ] - -This code was introduced in 2011 around the same time that we made -netdev_features_t a u64 type. These days a u32 is not big enough to -hold all the potential features. - -Signed-off-by: Dan Carpenter -Acked-by: Jiri Pirko -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/net/team/team.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c -index ddb6bf85a59c..e141563a4682 100644 ---- a/drivers/net/team/team.c -+++ b/drivers/net/team/team.c -@@ -1004,7 +1004,8 @@ static void team_port_disable(struct team *team, - static void __team_compute_features(struct team *team) - { - struct team_port *port; -- u32 vlan_features = TEAM_VLAN_FEATURES & NETIF_F_ALL_FOR_ALL; -+ netdev_features_t vlan_features = TEAM_VLAN_FEATURES & -+ NETIF_F_ALL_FOR_ALL; - netdev_features_t enc_features = TEAM_ENC_FEATURES; - unsigned short max_hard_header_len = ETH_HLEN; - unsigned int dst_release_flag = IFF_XMIT_DST_RELEASE | --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-012-vrf-check-the-original-netdevice-for-generatin.patch b/patches.kernel.org/4.17.1-012-vrf-check-the-original-netdevice-for-generatin.patch deleted file mode 100644 index f964c9e..0000000 --- a/patches.kernel.org/4.17.1-012-vrf-check-the-original-netdevice-for-generatin.patch +++ /dev/null @@ -1,56 +0,0 @@ -From: Stephen Suryaputra -Date: Fri, 1 Jun 2018 00:05:21 -0400 -Subject: [PATCH] vrf: check the original netdevice for generating redirect -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 2f17becfbea5e9a0529b51da7345783e96e69516 - -[ Upstream commit 2f17becfbea5e9a0529b51da7345783e96e69516 ] - -Use the right device to determine if redirect should be sent especially -when using vrf. Same as well as when sending the redirect. - -Signed-off-by: Stephen Suryaputra -Acked-by: David Ahern -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - net/ipv6/ip6_output.c | 3 ++- - net/ipv6/ndisc.c | 6 ++++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c -index 7b6d1689087b..af49f6cb5d3e 100644 ---- a/net/ipv6/ip6_output.c -+++ b/net/ipv6/ip6_output.c -@@ -507,7 +507,8 @@ int ip6_forward(struct sk_buff *skb) - send redirects to source routed frames. - We don't send redirects to frames decapsulated from IPsec. - */ -- if (skb->dev == dst->dev && opt->srcrt == 0 && !skb_sec_path(skb)) { -+ if (IP6CB(skb)->iif == dst->dev->ifindex && -+ opt->srcrt == 0 && !skb_sec_path(skb)) { - struct in6_addr *target = NULL; - struct inet_peer *peer; - struct rt6_info *rt; -diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c -index 9de4dfb126ba..525051a886bc 100644 ---- a/net/ipv6/ndisc.c -+++ b/net/ipv6/ndisc.c -@@ -1576,6 +1576,12 @@ void ndisc_send_redirect(struct sk_buff *skb, const struct in6_addr *target) - ops_data_buf[NDISC_OPS_REDIRECT_DATA_SPACE], *ops_data = NULL; - bool ret; - -+ if (netif_is_l3_master(skb->dev)) { -+ dev = __dev_get_by_index(dev_net(skb->dev), IPCB(skb)->iif); -+ if (!dev) -+ return; -+ } -+ - if (ipv6_get_lladdr(dev, &saddr_buf, IFA_F_TENTATIVE)) { - ND_PRINTK(2, warn, "Redirect: no link-local address on %s\n", - dev->name); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-013-net-dsa-b53-Fix-for-brcm-tag-issue-in-Cygnus-S.patch b/patches.kernel.org/4.17.1-013-net-dsa-b53-Fix-for-brcm-tag-issue-in-Cygnus-S.patch deleted file mode 100644 index 3c1c797..0000000 --- a/patches.kernel.org/4.17.1-013-net-dsa-b53-Fix-for-brcm-tag-issue-in-Cygnus-S.patch +++ /dev/null @@ -1,119 +0,0 @@ -From: Arun Parameswaran -Date: Tue, 5 Jun 2018 13:38:12 -0700 -Subject: [PATCH] net: dsa: b53: Fix for brcm tag issue in Cygnus SoC -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: 5040cc990cbac98733df4d58fdeac5bbdab15b49 - -[ Upstream commit 5040cc990cbac98733df4d58fdeac5bbdab15b49 ] - -In the Broadcom Cygnus SoC, the brcm tag needs to be inserted -in between the mac address and the ether type (should use -'DSA_PROTO_TAG_BRCM') for the packets sent to the internal -b53 switch. - -Since the Cygnus was added with the BCM58XX device id and the -BCM58XX uses 'DSA_PROTO_TAG_BRCM_PREPEND', the data path is -broken, due to the incorrect brcm tag location. - -Add a new b53 device id (BCM583XX) for Cygnus family to fix the -issue. Add the new device id to the BCM58XX family as Cygnus -is similar to the BCM58XX in most other functionalities. - -Fixes: 11606039604c ("net: dsa: b53: Support prepended Broadcom tags") - -Signed-off-by: Arun Parameswaran -Acked-by: Scott Branden -Reported-by: Clément Péron -Reviewed-by: Florian Fainelli -Tested-by: Clément Péron -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/net/dsa/b53/b53_common.c | 15 ++++++++++++++- - drivers/net/dsa/b53/b53_priv.h | 2 ++ - drivers/net/dsa/b53/b53_srab.c | 4 ++-- - 3 files changed, 18 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c -index 3da5fca77cbd..bbc6cc609ec3 100644 ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -684,7 +684,8 @@ static int b53_switch_reset(struct b53_device *dev) - * still use this driver as a library and need to perform the reset - * earlier. - */ -- if (dev->chip_id == BCM58XX_DEVICE_ID) { -+ if (dev->chip_id == BCM58XX_DEVICE_ID || -+ dev->chip_id == BCM583XX_DEVICE_ID) { - b53_read8(dev, B53_CTRL_PAGE, B53_SOFTRESET, ®); - reg |= SW_RST | EN_SW_RST | EN_CH_RST; - b53_write8(dev, B53_CTRL_PAGE, B53_SOFTRESET, reg); -@@ -1879,6 +1880,18 @@ static const struct b53_chip_data b53_switch_chips[] = { - .jumbo_pm_reg = B53_JUMBO_PORT_MASK, - .jumbo_size_reg = B53_JUMBO_MAX_SIZE, - }, -+ { -+ .chip_id = BCM583XX_DEVICE_ID, -+ .dev_name = "BCM583xx/11360", -+ .vlans = 4096, -+ .enabled_ports = 0x103, -+ .arl_entries = 4, -+ .cpu_port = B53_CPU_PORT, -+ .vta_regs = B53_VTA_REGS, -+ .duplex_reg = B53_DUPLEX_STAT_GE, -+ .jumbo_pm_reg = B53_JUMBO_PORT_MASK, -+ .jumbo_size_reg = B53_JUMBO_MAX_SIZE, -+ }, - { - .chip_id = BCM7445_DEVICE_ID, - .dev_name = "BCM7445", -diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h -index 3b57f47d0e79..b232aaae20aa 100644 ---- a/drivers/net/dsa/b53/b53_priv.h -+++ b/drivers/net/dsa/b53/b53_priv.h -@@ -62,6 +62,7 @@ enum { - BCM53018_DEVICE_ID = 0x53018, - BCM53019_DEVICE_ID = 0x53019, - BCM58XX_DEVICE_ID = 0x5800, -+ BCM583XX_DEVICE_ID = 0x58300, - BCM7445_DEVICE_ID = 0x7445, - BCM7278_DEVICE_ID = 0x7278, - }; -@@ -181,6 +182,7 @@ static inline int is5301x(struct b53_device *dev) - static inline int is58xx(struct b53_device *dev) - { - return dev->chip_id == BCM58XX_DEVICE_ID || -+ dev->chip_id == BCM583XX_DEVICE_ID || - dev->chip_id == BCM7445_DEVICE_ID || - dev->chip_id == BCM7278_DEVICE_ID; - } -diff --git a/drivers/net/dsa/b53/b53_srab.c b/drivers/net/dsa/b53/b53_srab.c -index c37ffd1b6833..8247481eaa06 100644 ---- a/drivers/net/dsa/b53/b53_srab.c -+++ b/drivers/net/dsa/b53/b53_srab.c -@@ -364,7 +364,7 @@ static const struct of_device_id b53_srab_of_match[] = { - { .compatible = "brcm,bcm53018-srab" }, - { .compatible = "brcm,bcm53019-srab" }, - { .compatible = "brcm,bcm5301x-srab" }, -- { .compatible = "brcm,bcm11360-srab", .data = (void *)BCM58XX_DEVICE_ID }, -+ { .compatible = "brcm,bcm11360-srab", .data = (void *)BCM583XX_DEVICE_ID }, - { .compatible = "brcm,bcm58522-srab", .data = (void *)BCM58XX_DEVICE_ID }, - { .compatible = "brcm,bcm58525-srab", .data = (void *)BCM58XX_DEVICE_ID }, - { .compatible = "brcm,bcm58535-srab", .data = (void *)BCM58XX_DEVICE_ID }, -@@ -372,7 +372,7 @@ static const struct of_device_id b53_srab_of_match[] = { - { .compatible = "brcm,bcm58623-srab", .data = (void *)BCM58XX_DEVICE_ID }, - { .compatible = "brcm,bcm58625-srab", .data = (void *)BCM58XX_DEVICE_ID }, - { .compatible = "brcm,bcm88312-srab", .data = (void *)BCM58XX_DEVICE_ID }, -- { .compatible = "brcm,cygnus-srab", .data = (void *)BCM58XX_DEVICE_ID }, -+ { .compatible = "brcm,cygnus-srab", .data = (void *)BCM583XX_DEVICE_ID }, - { .compatible = "brcm,nsp-srab", .data = (void *)BCM58XX_DEVICE_ID }, - { /* sentinel */ }, - }; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-014-ipmr-fix-error-path-when-ipmr_new_table-fails.patch b/patches.kernel.org/4.17.1-014-ipmr-fix-error-path-when-ipmr_new_table-fails.patch deleted file mode 100644 index 7844827..0000000 --- a/patches.kernel.org/4.17.1-014-ipmr-fix-error-path-when-ipmr_new_table-fails.patch +++ /dev/null @@ -1,128 +0,0 @@ -From: Sabrina Dubroca -Date: Tue, 5 Jun 2018 15:02:00 +0200 -Subject: [PATCH] ipmr: fix error path when ipmr_new_table fails -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: e783bb00ad86d9d1f01d9d3a750713070036358e - -[ Upstream commit e783bb00ad86d9d1f01d9d3a750713070036358e ] - -commit 0bbbf0e7d0e7 ("ipmr, ip6mr: Unite creation of new mr_table") -refactored ipmr_new_table, so that it now returns NULL when -mr_table_alloc fails. Unfortunately, all callers of ipmr_new_table -expect an ERR_PTR. - -This can result in NULL deref, for example when ipmr_rules_exit calls -ipmr_free_table with NULL net->ipv4.mrt in the -!CONFIG_IP_MROUTE_MULTIPLE_TABLES version. - -This patch makes mr_table_alloc return errors, and changes -ip6mr_new_table and its callers to return/expect error pointers as -well. It also removes the version of mr_table_alloc defined under -!CONFIG_IP_MROUTE_COMMON, since it is never used. - -Fixes: 0bbbf0e7d0e7 ("ipmr, ip6mr: Unite creation of new mr_table") -Signed-off-by: Sabrina Dubroca -Signed-off-by: David S. Miller -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - include/linux/mroute_base.h | 10 ---------- - net/ipv4/ipmr_base.c | 8 +++++--- - net/ipv6/ip6mr.c | 18 ++++++++++++------ - 3 files changed, 17 insertions(+), 19 deletions(-) - -diff --git a/include/linux/mroute_base.h b/include/linux/mroute_base.h -index d617fe45543e..d633f737b3c6 100644 ---- a/include/linux/mroute_base.h -+++ b/include/linux/mroute_base.h -@@ -307,16 +307,6 @@ static inline void vif_device_init(struct vif_device *v, - { - } - --static inline void * --mr_table_alloc(struct net *net, u32 id, -- struct mr_table_ops *ops, -- void (*expire_func)(struct timer_list *t), -- void (*table_set)(struct mr_table *mrt, -- struct net *net)) --{ -- return NULL; --} -- - static inline void *mr_mfc_find_parent(struct mr_table *mrt, - void *hasharg, int parent) - { -diff --git a/net/ipv4/ipmr_base.c b/net/ipv4/ipmr_base.c -index 30221701614c..cafb0506c8c9 100644 ---- a/net/ipv4/ipmr_base.c -+++ b/net/ipv4/ipmr_base.c -@@ -35,17 +35,19 @@ mr_table_alloc(struct net *net, u32 id, - struct net *net)) - { - struct mr_table *mrt; -+ int err; - - mrt = kzalloc(sizeof(*mrt), GFP_KERNEL); - if (!mrt) -- return NULL; -+ return ERR_PTR(-ENOMEM); - mrt->id = id; - write_pnet(&mrt->net, net); - - mrt->ops = *ops; -- if (rhltable_init(&mrt->mfc_hash, mrt->ops.rht_params)) { -+ err = rhltable_init(&mrt->mfc_hash, mrt->ops.rht_params); -+ if (err) { - kfree(mrt); -- return NULL; -+ return ERR_PTR(err); - } - INIT_LIST_HEAD(&mrt->mfc_cache_list); - INIT_LIST_HEAD(&mrt->mfc_unres_queue); -diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c -index 42eca2689c3b..37936671dcb3 100644 ---- a/net/ipv6/ip6mr.c -+++ b/net/ipv6/ip6mr.c -@@ -227,8 +227,8 @@ static int __net_init ip6mr_rules_init(struct net *net) - INIT_LIST_HEAD(&net->ipv6.mr6_tables); - - mrt = ip6mr_new_table(net, RT6_TABLE_DFLT); -- if (!mrt) { -- err = -ENOMEM; -+ if (IS_ERR(mrt)) { -+ err = PTR_ERR(mrt); - goto err1; - } - -@@ -301,8 +301,13 @@ static int ip6mr_fib_lookup(struct net *net, struct flowi6 *flp6, - - static int __net_init ip6mr_rules_init(struct net *net) - { -- net->ipv6.mrt6 = ip6mr_new_table(net, RT6_TABLE_DFLT); -- return net->ipv6.mrt6 ? 0 : -ENOMEM; -+ struct mr_table *mrt; -+ -+ mrt = ip6mr_new_table(net, RT6_TABLE_DFLT); -+ if (IS_ERR(mrt)) -+ return PTR_ERR(mrt); -+ net->ipv6.mrt6 = mrt; -+ return 0; - } - - static void __net_exit ip6mr_rules_exit(struct net *net) -@@ -1757,8 +1762,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns - - rtnl_lock(); - ret = 0; -- if (!ip6mr_new_table(net, v)) -- ret = -ENOMEM; -+ mrt = ip6mr_new_table(net, v); -+ if (IS_ERR(mrt)) -+ ret = PTR_ERR(mrt); - else - raw6_sk(sk)->ip6mr_table = v; - rtnl_unlock(); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-015-PCI-hv-Do-not-wait-forever-on-a-device-that-ha.patch b/patches.kernel.org/4.17.1-015-PCI-hv-Do-not-wait-forever-on-a-device-that-ha.patch deleted file mode 100644 index ae66de0..0000000 --- a/patches.kernel.org/4.17.1-015-PCI-hv-Do-not-wait-forever-on-a-device-that-ha.patch +++ /dev/null @@ -1,136 +0,0 @@ -From: Dexuan Cui -Date: Wed, 23 May 2018 21:12:01 +0000 -Subject: [PATCH] PCI: hv: Do not wait forever on a device that has disappeared -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: c3635da2a336441253c33298b87b3042db100725 - -commit c3635da2a336441253c33298b87b3042db100725 upstream. - -Before the guest finishes the device initialization, the device can be -removed anytime by the host, and after that the host won't respond to -the guest's request, so the guest should be prepared to handle this -case. - -Add a polling mechanism to detect device presence. - -Signed-off-by: Dexuan Cui -[lorenzo.pieralisi@arm.com: edited commit log] -Signed-off-by: Lorenzo Pieralisi -Reviewed-by: Haiyang Zhang -Cc: Stephen Hemminger -Cc: K. Y. Srinivasan -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/pci/host/pci-hyperv.c | 46 ++++++++++++++++++++++++++--------- - 1 file changed, 34 insertions(+), 12 deletions(-) - -diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c -index 50cdefe3f6d3..c75199538c05 100644 ---- a/drivers/pci/host/pci-hyperv.c -+++ b/drivers/pci/host/pci-hyperv.c -@@ -556,6 +556,26 @@ static void put_pcichild(struct hv_pci_dev *hv_pcidev, - static void get_hvpcibus(struct hv_pcibus_device *hv_pcibus); - static void put_hvpcibus(struct hv_pcibus_device *hv_pcibus); - -+/* -+ * There is no good way to get notified from vmbus_onoffer_rescind(), -+ * so let's use polling here, since this is not a hot path. -+ */ -+static int wait_for_response(struct hv_device *hdev, -+ struct completion *comp) -+{ -+ while (true) { -+ if (hdev->channel->rescind) { -+ dev_warn_once(&hdev->device, "The device is gone.\n"); -+ return -ENODEV; -+ } -+ -+ if (wait_for_completion_timeout(comp, HZ / 10)) -+ break; -+ } -+ -+ return 0; -+} -+ - /** - * devfn_to_wslot() - Convert from Linux PCI slot to Windows - * @devfn: The Linux representation of PCI slot -@@ -1568,7 +1588,8 @@ static struct hv_pci_dev *new_pcichild_device(struct hv_pcibus_device *hbus, - if (ret) - goto error; - -- wait_for_completion(&comp_pkt.host_event); -+ if (wait_for_response(hbus->hdev, &comp_pkt.host_event)) -+ goto error; - - hpdev->desc = *desc; - refcount_set(&hpdev->refs, 1); -@@ -2069,15 +2090,16 @@ static int hv_pci_protocol_negotiation(struct hv_device *hdev) - sizeof(struct pci_version_request), - (unsigned long)pkt, VM_PKT_DATA_INBAND, - VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED); -+ if (!ret) -+ ret = wait_for_response(hdev, &comp_pkt.host_event); -+ - if (ret) { - dev_err(&hdev->device, -- "PCI Pass-through VSP failed sending version reqquest: %#x", -+ "PCI Pass-through VSP failed to request version: %d", - ret); - goto exit; - } - -- wait_for_completion(&comp_pkt.host_event); -- - if (comp_pkt.completion_status >= 0) { - pci_protocol_version = pci_protocol_versions[i]; - dev_info(&hdev->device, -@@ -2286,11 +2308,12 @@ static int hv_pci_enter_d0(struct hv_device *hdev) - ret = vmbus_sendpacket(hdev->channel, d0_entry, sizeof(*d0_entry), - (unsigned long)pkt, VM_PKT_DATA_INBAND, - VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED); -+ if (!ret) -+ ret = wait_for_response(hdev, &comp_pkt.host_event); -+ - if (ret) - goto exit; - -- wait_for_completion(&comp_pkt.host_event); -- - if (comp_pkt.completion_status < 0) { - dev_err(&hdev->device, - "PCI Pass-through VSP failed D0 Entry with status %x\n", -@@ -2330,11 +2353,10 @@ static int hv_pci_query_relations(struct hv_device *hdev) - - ret = vmbus_sendpacket(hdev->channel, &message, sizeof(message), - 0, VM_PKT_DATA_INBAND, 0); -- if (ret) -- return ret; -+ if (!ret) -+ ret = wait_for_response(hdev, &comp); - -- wait_for_completion(&comp); -- return 0; -+ return ret; - } - - /** -@@ -2404,11 +2426,11 @@ static int hv_send_resources_allocated(struct hv_device *hdev) - size_res, (unsigned long)pkt, - VM_PKT_DATA_INBAND, - VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED); -+ if (!ret) -+ ret = wait_for_response(hdev, &comp_pkt.host_event); - if (ret) - break; - -- wait_for_completion(&comp_pkt.host_event); -- - if (comp_pkt.completion_status < 0) { - ret = -EPROTO; - dev_err(&hdev->device, --- -2.17.1 - diff --git a/patches.kernel.org/4.17.1-016-Linux-4.17.1.patch b/patches.kernel.org/4.17.1-016-Linux-4.17.1.patch deleted file mode 100644 index 8c71d15..0000000 --- a/patches.kernel.org/4.17.1-016-Linux-4.17.1.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Greg Kroah-Hartman -Date: Mon, 11 Jun 2018 22:43:19 +0200 -Subject: [PATCH] Linux 4.17.1 -References: bnc#1012628 -Patch-mainline: 4.17.1 -Git-commit: d0c077266ecbe4ebbaac24c0fe5bd81c5304c5a2 - -Signed-off-by: Jiri Slaby ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 554dcaddbce4..e551c9af6a06 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0 - VERSION = 4 - PATCHLEVEL = 17 --SUBLEVEL = 0 -+SUBLEVEL = 1 - EXTRAVERSION = - NAME = Merciless Moray - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-001-crypto-chelsio-request-to-HW-should-wrap.patch b/patches.kernel.org/4.17.2-001-crypto-chelsio-request-to-HW-should-wrap.patch deleted file mode 100644 index 6d8fb49..0000000 --- a/patches.kernel.org/4.17.2-001-crypto-chelsio-request-to-HW-should-wrap.patch +++ /dev/null @@ -1,105 +0,0 @@ -From: Atul Gupta -Date: Thu, 10 May 2018 10:14:42 +0530 -Subject: [PATCH] crypto: chelsio - request to HW should wrap -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 4c826fed675dfffd8485c5477b616d61d1ec9e9a - -commit 4c826fed675dfffd8485c5477b616d61d1ec9e9a upstream. - --Tx request and data is copied to HW Q in 64B desc, check for -end of queue and adjust the current position to start from -beginning before passing the additional request info. --key context copy should check key length only --Few reverse christmas tree correction - -Signed-off-by: Atul Gupta -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/chelsio/chcr_ipsec.c | 35 ++++++++++++++--------------- - 1 file changed, 17 insertions(+), 18 deletions(-) - -diff --git a/drivers/crypto/chelsio/chcr_ipsec.c b/drivers/crypto/chelsio/chcr_ipsec.c -index 8e0aa3f175c9..461b97e2f1fd 100644 ---- a/drivers/crypto/chelsio/chcr_ipsec.c -+++ b/drivers/crypto/chelsio/chcr_ipsec.c -@@ -346,18 +346,23 @@ inline void *copy_cpltx_pktxt(struct sk_buff *skb, - struct net_device *dev, - void *pos) - { -+ struct cpl_tx_pkt_core *cpl; -+ struct sge_eth_txq *q; - struct adapter *adap; - struct port_info *pi; -- struct sge_eth_txq *q; -- struct cpl_tx_pkt_core *cpl; -- u64 cntrl = 0; - u32 ctrl0, qidx; -+ u64 cntrl = 0; -+ int left; - - pi = netdev_priv(dev); - adap = pi->adapter; - qidx = skb->queue_mapping; - q = &adap->sge.ethtxq[qidx + pi->first_qset]; - -+ left = (void *)q->q.stat - pos; -+ if (!left) -+ pos = q->q.desc; -+ - cpl = (struct cpl_tx_pkt_core *)pos; - - cntrl = TXPKT_L4CSUM_DIS_F | TXPKT_IPCSUM_DIS_F; -@@ -382,18 +387,17 @@ inline void *copy_key_cpltx_pktxt(struct sk_buff *skb, - void *pos, - struct ipsec_sa_entry *sa_entry) - { -- struct adapter *adap; -- struct port_info *pi; -- struct sge_eth_txq *q; -- unsigned int len, qidx; - struct _key_ctx *key_ctx; - int left, eoq, key_len; -+ struct sge_eth_txq *q; -+ struct adapter *adap; -+ struct port_info *pi; -+ unsigned int qidx; - - pi = netdev_priv(dev); - adap = pi->adapter; - qidx = skb->queue_mapping; - q = &adap->sge.ethtxq[qidx + pi->first_qset]; -- len = sa_entry->enckey_len + sizeof(struct cpl_tx_pkt_core); - key_len = sa_entry->kctx_len; - - /* end of queue, reset pos to start of queue */ -@@ -411,19 +415,14 @@ inline void *copy_key_cpltx_pktxt(struct sk_buff *skb, - pos += sizeof(struct _key_ctx); - left -= sizeof(struct _key_ctx); - -- if (likely(len <= left)) { -+ if (likely(key_len <= left)) { - memcpy(key_ctx->key, sa_entry->key, key_len); - pos += key_len; - } else { -- if (key_len <= left) { -- memcpy(pos, sa_entry->key, key_len); -- pos += key_len; -- } else { -- memcpy(pos, sa_entry->key, left); -- memcpy(q->q.desc, sa_entry->key + left, -- key_len - left); -- pos = (u8 *)q->q.desc + (key_len - left); -- } -+ memcpy(pos, sa_entry->key, left); -+ memcpy(q->q.desc, sa_entry->key + left, -+ key_len - left); -+ pos = (u8 *)q->q.desc + (key_len - left); - } - /* Copy CPL TX PKT XT */ - pos = copy_cpltx_pktxt(skb, dev, pos); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-002-blkdev_report_zones_ioctl-Use-vmalloc-to-alloc.patch b/patches.kernel.org/4.17.2-002-blkdev_report_zones_ioctl-Use-vmalloc-to-alloc.patch deleted file mode 100644 index 110a41c..0000000 --- a/patches.kernel.org/4.17.2-002-blkdev_report_zones_ioctl-Use-vmalloc-to-alloc.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: Bart Van Assche -Date: Tue, 22 May 2018 08:27:22 -0700 -Subject: [PATCH] blkdev_report_zones_ioctl(): Use vmalloc() to allocate large - buffers -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 327ea4adcfa37194739f1ec7c70568944d292281 - -commit 327ea4adcfa37194739f1ec7c70568944d292281 upstream. - -Avoid that complaints similar to the following appear in the kernel log -if the number of zones is sufficiently large: - - fio: page allocation failure: order:9, mode:0x140c0c0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null) - Call Trace: - dump_stack+0x63/0x88 - warn_alloc+0xf5/0x190 - __alloc_pages_slowpath+0x8f0/0xb0d - __alloc_pages_nodemask+0x242/0x260 - alloc_pages_current+0x6a/0xb0 - kmalloc_order+0x18/0x50 - kmalloc_order_trace+0x26/0xb0 - __kmalloc+0x20e/0x220 - blkdev_report_zones_ioctl+0xa5/0x1a0 - blkdev_ioctl+0x1ba/0x930 - block_ioctl+0x41/0x50 - do_vfs_ioctl+0xaa/0x610 - SyS_ioctl+0x79/0x90 - do_syscall_64+0x79/0x1b0 - entry_SYSCALL_64_after_hwframe+0x3d/0xa2 - -Fixes: 3ed05a987e0f ("blk-zoned: implement ioctls") -Signed-off-by: Bart Van Assche -Cc: Shaun Tancheff -Cc: Damien Le Moal -Cc: Christoph Hellwig -Cc: Martin K. Petersen -Cc: Hannes Reinecke -Cc: -Signed-off-by: Jens Axboe -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - block/blk-zoned.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/block/blk-zoned.c b/block/blk-zoned.c -index 08e84ef2bc05..3d08dc84db16 100644 ---- a/block/blk-zoned.c -+++ b/block/blk-zoned.c -@@ -328,7 +328,11 @@ int blkdev_report_zones_ioctl(struct block_device *bdev, fmode_t mode, - if (!rep.nr_zones) - return -EINVAL; - -- zones = kcalloc(rep.nr_zones, sizeof(struct blk_zone), GFP_KERNEL); -+ if (rep.nr_zones > INT_MAX / sizeof(struct blk_zone)) -+ return -ERANGE; -+ -+ zones = kvmalloc(rep.nr_zones * sizeof(struct blk_zone), -+ GFP_KERNEL | __GFP_ZERO); - if (!zones) - return -ENOMEM; - -@@ -350,7 +354,7 @@ int blkdev_report_zones_ioctl(struct block_device *bdev, fmode_t mode, - } - - out: -- kfree(zones); -+ kvfree(zones); - - return ret; - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-003-KVM-X86-Fix-reserved-bits-check-for-MOV-to-CR3.patch b/patches.kernel.org/4.17.2-003-KVM-X86-Fix-reserved-bits-check-for-MOV-to-CR3.patch deleted file mode 100644 index caaa439..0000000 --- a/patches.kernel.org/4.17.2-003-KVM-X86-Fix-reserved-bits-check-for-MOV-to-CR3.patch +++ /dev/null @@ -1,65 +0,0 @@ -From: Wanpeng Li -Date: Sun, 13 May 2018 02:24:47 -0700 -Subject: [PATCH] KVM: X86: Fix reserved bits check for MOV to CR3 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: a780a3ea628268b2ad0ed43d7f28d90db0ff18be - -commit a780a3ea628268b2ad0ed43d7f28d90db0ff18be upstream. - -MSB of CR3 is a reserved bit if the PCIDE bit is not set in CR4. -It should be checked when PCIDE bit is not set, however commit -'d1cd3ce900441 ("KVM: MMU: check guest CR3 reserved bits based on -its physical address width")' removes the bit 63 checking -unconditionally. This patch fixes it by checking bit 63 of CR3 -when PCIDE bit is not set in CR4. - -Fixes: d1cd3ce900441 (KVM: MMU: check guest CR3 reserved bits based on its physical address width) -Cc: Paolo Bonzini -Cc: Radim Krčmář -Cc: Liran Alon -Cc: stable@vger.kernel.org -Reviewed-by: Junaid Shahid -Signed-off-by: Wanpeng Li -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/kvm/emulate.c | 4 +++- - arch/x86/kvm/x86.c | 2 +- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c -index b3705ae52824..143b7ae52624 100644 ---- a/arch/x86/kvm/emulate.c -+++ b/arch/x86/kvm/emulate.c -@@ -4189,7 +4189,9 @@ static int check_cr_write(struct x86_emulate_ctxt *ctxt) - maxphyaddr = eax & 0xff; - else - maxphyaddr = 36; -- rsvd = rsvd_bits(maxphyaddr, 62); -+ rsvd = rsvd_bits(maxphyaddr, 63); -+ if (ctxt->ops->get_cr(ctxt, 4) & X86_CR4_PCIDE) -+ rsvd &= ~CR3_PCID_INVD; - } - - if (new_val & rsvd) -diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 71e7cda6d014..0e409bf7f610 100644 ---- a/arch/x86/kvm/x86.c -+++ b/arch/x86/kvm/x86.c -@@ -856,7 +856,7 @@ int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3) - } - - if (is_long_mode(vcpu) && -- (cr3 & rsvd_bits(cpuid_maxphyaddr(vcpu), 62))) -+ (cr3 & rsvd_bits(cpuid_maxphyaddr(vcpu), 63))) - return 1; - else if (is_pae(vcpu) && is_paging(vcpu) && - !load_pdptrs(vcpu, vcpu->arch.walk_mmu, cr3)) --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-004-KVM-x86-introduce-linear_-read-write-_system.patch b/patches.kernel.org/4.17.2-004-KVM-x86-introduce-linear_-read-write-_system.patch deleted file mode 100644 index 9fd0ba0..0000000 --- a/patches.kernel.org/4.17.2-004-KVM-x86-introduce-linear_-read-write-_system.patch +++ /dev/null @@ -1,190 +0,0 @@ -From: Paolo Bonzini -Date: Wed, 6 Jun 2018 16:43:02 +0200 -Subject: [PATCH] KVM: x86: introduce linear_{read,write}_system -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 79367a65743975e5cac8d24d08eccc7fdae832b0 - -commit 79367a65743975e5cac8d24d08eccc7fdae832b0 upstream. - -Wrap the common invocation of ctxt->ops->read_std and ctxt->ops->write_std, so -as to have a smaller patch when the functions grow another argument. - -Fixes: 129a72a0d3c8 ("KVM: x86: Introduce segmented_write_std", 2017-01-12) -Cc: stable@vger.kernel.org -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/kvm/emulate.c | 64 +++++++++++++++++++++--------------------- - 1 file changed, 32 insertions(+), 32 deletions(-) - -diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c -index 143b7ae52624..fcf54642b293 100644 ---- a/arch/x86/kvm/emulate.c -+++ b/arch/x86/kvm/emulate.c -@@ -812,6 +812,19 @@ static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel) - return assign_eip_near(ctxt, ctxt->_eip + rel); - } - -+static int linear_read_system(struct x86_emulate_ctxt *ctxt, ulong linear, -+ void *data, unsigned size) -+{ -+ return ctxt->ops->read_std(ctxt, linear, data, size, &ctxt->exception); -+} -+ -+static int linear_write_system(struct x86_emulate_ctxt *ctxt, -+ ulong linear, void *data, -+ unsigned int size) -+{ -+ return ctxt->ops->write_std(ctxt, linear, data, size, &ctxt->exception); -+} -+ - static int segmented_read_std(struct x86_emulate_ctxt *ctxt, - struct segmented_address addr, - void *data, -@@ -1496,8 +1509,7 @@ static int read_interrupt_descriptor(struct x86_emulate_ctxt *ctxt, - return emulate_gp(ctxt, index << 3 | 0x2); - - addr = dt.address + index * 8; -- return ctxt->ops->read_std(ctxt, addr, desc, sizeof *desc, -- &ctxt->exception); -+ return linear_read_system(ctxt, addr, desc, sizeof *desc); - } - - static void get_descriptor_table_ptr(struct x86_emulate_ctxt *ctxt, -@@ -1560,8 +1572,7 @@ static int read_segment_descriptor(struct x86_emulate_ctxt *ctxt, - if (rc != X86EMUL_CONTINUE) - return rc; - -- return ctxt->ops->read_std(ctxt, *desc_addr_p, desc, sizeof(*desc), -- &ctxt->exception); -+ return linear_read_system(ctxt, *desc_addr_p, desc, sizeof(*desc)); - } - - /* allowed just for 8 bytes segments */ -@@ -1575,8 +1586,7 @@ static int write_segment_descriptor(struct x86_emulate_ctxt *ctxt, - if (rc != X86EMUL_CONTINUE) - return rc; - -- return ctxt->ops->write_std(ctxt, addr, desc, sizeof *desc, -- &ctxt->exception); -+ return linear_write_system(ctxt, addr, desc, sizeof *desc); - } - - static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt, -@@ -1737,8 +1747,7 @@ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt, - return ret; - } - } else if (ctxt->mode == X86EMUL_MODE_PROT64) { -- ret = ctxt->ops->read_std(ctxt, desc_addr+8, &base3, -- sizeof(base3), &ctxt->exception); -+ ret = linear_read_system(ctxt, desc_addr+8, &base3, sizeof(base3)); - if (ret != X86EMUL_CONTINUE) - return ret; - if (emul_is_noncanonical_address(get_desc_base(&seg_desc) | -@@ -2051,11 +2060,11 @@ static int __emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq) - eip_addr = dt.address + (irq << 2); - cs_addr = dt.address + (irq << 2) + 2; - -- rc = ops->read_std(ctxt, cs_addr, &cs, 2, &ctxt->exception); -+ rc = linear_read_system(ctxt, cs_addr, &cs, 2); - if (rc != X86EMUL_CONTINUE) - return rc; - -- rc = ops->read_std(ctxt, eip_addr, &eip, 2, &ctxt->exception); -+ rc = linear_read_system(ctxt, eip_addr, &eip, 2); - if (rc != X86EMUL_CONTINUE) - return rc; - -@@ -3053,35 +3062,30 @@ static int task_switch_16(struct x86_emulate_ctxt *ctxt, - u16 tss_selector, u16 old_tss_sel, - ulong old_tss_base, struct desc_struct *new_desc) - { -- const struct x86_emulate_ops *ops = ctxt->ops; - struct tss_segment_16 tss_seg; - int ret; - u32 new_tss_base = get_desc_base(new_desc); - -- ret = ops->read_std(ctxt, old_tss_base, &tss_seg, sizeof tss_seg, -- &ctxt->exception); -+ ret = linear_read_system(ctxt, old_tss_base, &tss_seg, sizeof tss_seg); - if (ret != X86EMUL_CONTINUE) - return ret; - - save_state_to_tss16(ctxt, &tss_seg); - -- ret = ops->write_std(ctxt, old_tss_base, &tss_seg, sizeof tss_seg, -- &ctxt->exception); -+ ret = linear_write_system(ctxt, old_tss_base, &tss_seg, sizeof tss_seg); - if (ret != X86EMUL_CONTINUE) - return ret; - -- ret = ops->read_std(ctxt, new_tss_base, &tss_seg, sizeof tss_seg, -- &ctxt->exception); -+ ret = linear_read_system(ctxt, new_tss_base, &tss_seg, sizeof tss_seg); - if (ret != X86EMUL_CONTINUE) - return ret; - - if (old_tss_sel != 0xffff) { - tss_seg.prev_task_link = old_tss_sel; - -- ret = ops->write_std(ctxt, new_tss_base, -- &tss_seg.prev_task_link, -- sizeof tss_seg.prev_task_link, -- &ctxt->exception); -+ ret = linear_write_system(ctxt, new_tss_base, -+ &tss_seg.prev_task_link, -+ sizeof tss_seg.prev_task_link); - if (ret != X86EMUL_CONTINUE) - return ret; - } -@@ -3197,38 +3201,34 @@ static int task_switch_32(struct x86_emulate_ctxt *ctxt, - u16 tss_selector, u16 old_tss_sel, - ulong old_tss_base, struct desc_struct *new_desc) - { -- const struct x86_emulate_ops *ops = ctxt->ops; - struct tss_segment_32 tss_seg; - int ret; - u32 new_tss_base = get_desc_base(new_desc); - u32 eip_offset = offsetof(struct tss_segment_32, eip); - u32 ldt_sel_offset = offsetof(struct tss_segment_32, ldt_selector); - -- ret = ops->read_std(ctxt, old_tss_base, &tss_seg, sizeof tss_seg, -- &ctxt->exception); -+ ret = linear_read_system(ctxt, old_tss_base, &tss_seg, sizeof tss_seg); - if (ret != X86EMUL_CONTINUE) - return ret; - - save_state_to_tss32(ctxt, &tss_seg); - - /* Only GP registers and segment selectors are saved */ -- ret = ops->write_std(ctxt, old_tss_base + eip_offset, &tss_seg.eip, -- ldt_sel_offset - eip_offset, &ctxt->exception); -+ ret = linear_write_system(ctxt, old_tss_base + eip_offset, &tss_seg.eip, -+ ldt_sel_offset - eip_offset); - if (ret != X86EMUL_CONTINUE) - return ret; - -- ret = ops->read_std(ctxt, new_tss_base, &tss_seg, sizeof tss_seg, -- &ctxt->exception); -+ ret = linear_read_system(ctxt, new_tss_base, &tss_seg, sizeof tss_seg); - if (ret != X86EMUL_CONTINUE) - return ret; - - if (old_tss_sel != 0xffff) { - tss_seg.prev_task_link = old_tss_sel; - -- ret = ops->write_std(ctxt, new_tss_base, -- &tss_seg.prev_task_link, -- sizeof tss_seg.prev_task_link, -- &ctxt->exception); -+ ret = linear_write_system(ctxt, new_tss_base, -+ &tss_seg.prev_task_link, -+ sizeof tss_seg.prev_task_link); - if (ret != X86EMUL_CONTINUE) - return ret; - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-005-kvm-fix-typo-in-flag-name.patch b/patches.kernel.org/4.17.2-005-kvm-fix-typo-in-flag-name.patch deleted file mode 100644 index 3328551..0000000 --- a/patches.kernel.org/4.17.2-005-kvm-fix-typo-in-flag-name.patch +++ /dev/null @@ -1,83 +0,0 @@ -From: "Michael S. Tsirkin" -Date: Fri, 8 Jun 2018 02:19:53 +0300 -Subject: [PATCH] kvm: fix typo in flag name -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 766d3571d8e50d3a73b77043dc632226f9e6b389 - -commit 766d3571d8e50d3a73b77043dc632226f9e6b389 upstream. - -KVM_X86_DISABLE_EXITS_HTL really refers to exit on halt. -Obviously a typo: should be named KVM_X86_DISABLE_EXITS_HLT. - -Fixes: caa057a2cad ("KVM: X86: Provide a capability to disable HLT intercepts") -Cc: stable@vger.kernel.org -Signed-off-by: Michael S. Tsirkin -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/kvm/x86.c | 4 ++-- - include/uapi/linux/kvm.h | 4 ++-- - tools/include/uapi/linux/kvm.h | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 0e409bf7f610..9466adae8434 100644 ---- a/arch/x86/kvm/x86.c -+++ b/arch/x86/kvm/x86.c -@@ -2894,7 +2894,7 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) - r = KVM_CLOCK_TSC_STABLE; - break; - case KVM_CAP_X86_DISABLE_EXITS: -- r |= KVM_X86_DISABLE_EXITS_HTL | KVM_X86_DISABLE_EXITS_PAUSE; -+ r |= KVM_X86_DISABLE_EXITS_HLT | KVM_X86_DISABLE_EXITS_PAUSE; - if(kvm_can_mwait_in_guest()) - r |= KVM_X86_DISABLE_EXITS_MWAIT; - break; -@@ -4248,7 +4248,7 @@ static int kvm_vm_ioctl_enable_cap(struct kvm *kvm, - if ((cap->args[0] & KVM_X86_DISABLE_EXITS_MWAIT) && - kvm_can_mwait_in_guest()) - kvm->arch.mwait_in_guest = true; -- if (cap->args[0] & KVM_X86_DISABLE_EXITS_HTL) -+ if (cap->args[0] & KVM_X86_DISABLE_EXITS_HLT) - kvm->arch.hlt_in_guest = true; - if (cap->args[0] & KVM_X86_DISABLE_EXITS_PAUSE) - kvm->arch.pause_in_guest = true; -diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h -index b02c41e53d56..39e364c70caf 100644 ---- a/include/uapi/linux/kvm.h -+++ b/include/uapi/linux/kvm.h -@@ -677,10 +677,10 @@ struct kvm_ioeventfd { - }; - - #define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0) --#define KVM_X86_DISABLE_EXITS_HTL (1 << 1) -+#define KVM_X86_DISABLE_EXITS_HLT (1 << 1) - #define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) - #define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | \ -- KVM_X86_DISABLE_EXITS_HTL | \ -+ KVM_X86_DISABLE_EXITS_HLT | \ - KVM_X86_DISABLE_EXITS_PAUSE) - - /* for KVM_ENABLE_CAP */ -diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h -index b02c41e53d56..39e364c70caf 100644 ---- a/tools/include/uapi/linux/kvm.h -+++ b/tools/include/uapi/linux/kvm.h -@@ -677,10 +677,10 @@ struct kvm_ioeventfd { - }; - - #define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0) --#define KVM_X86_DISABLE_EXITS_HTL (1 << 1) -+#define KVM_X86_DISABLE_EXITS_HLT (1 << 1) - #define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) - #define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MWAIT | \ -- KVM_X86_DISABLE_EXITS_HTL | \ -+ KVM_X86_DISABLE_EXITS_HLT | \ - KVM_X86_DISABLE_EXITS_PAUSE) - - /* for KVM_ENABLE_CAP */ --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-006-kvm-nVMX-Enforce-cpl-0-for-VMX-instructions.patch b/patches.kernel.org/4.17.2-006-kvm-nVMX-Enforce-cpl-0-for-VMX-instructions.patch deleted file mode 100644 index ff4676b..0000000 --- a/patches.kernel.org/4.17.2-006-kvm-nVMX-Enforce-cpl-0-for-VMX-instructions.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: Felix Wilhelm -Date: Mon, 11 Jun 2018 09:43:44 +0200 -Subject: [PATCH] kvm: nVMX: Enforce cpl=0 for VMX instructions -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 727ba748e110b4de50d142edca9d6a9b7e6111d8 - -commit 727ba748e110b4de50d142edca9d6a9b7e6111d8 upstream. - -VMX instructions executed inside a L1 VM will always trigger a VM exit -even when executed with cpl 3. This means we must perform the -privilege check in software. - -Fixes: 70f3aac964ae("kvm: nVMX: Remove superfluous VMX instruction fault checks") -Cc: stable@vger.kernel.org -Signed-off-by: Felix Wilhelm -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/kvm/vmx.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index 40aa29204baf..3ae39d8a11ca 100644 ---- a/arch/x86/kvm/vmx.c -+++ b/arch/x86/kvm/vmx.c -@@ -7670,6 +7670,12 @@ static int handle_vmon(struct kvm_vcpu *vcpu) - return 1; - } - -+ /* CPL=0 must be checked manually. */ -+ if (vmx_get_cpl(vcpu)) { -+ kvm_queue_exception(vcpu, UD_VECTOR); -+ return 1; -+ } -+ - if (vmx->nested.vmxon) { - nested_vmx_failValid(vcpu, VMXERR_VMXON_IN_VMX_ROOT_OPERATION); - return kvm_skip_emulated_instruction(vcpu); -@@ -7729,6 +7735,11 @@ static int handle_vmon(struct kvm_vcpu *vcpu) - */ - static int nested_vmx_check_permission(struct kvm_vcpu *vcpu) - { -+ if (vmx_get_cpl(vcpu)) { -+ kvm_queue_exception(vcpu, UD_VECTOR); -+ return 0; -+ } -+ - if (!to_vmx(vcpu)->nested.vmxon) { - kvm_queue_exception(vcpu, UD_VECTOR); - return 0; -@@ -8029,7 +8040,7 @@ static int handle_vmread(struct kvm_vcpu *vcpu) - if (get_vmx_mem_address(vcpu, exit_qualification, - vmx_instruction_info, true, &gva)) - return 1; -- /* _system ok, as hardware has verified cpl=0 */ -+ /* _system ok, nested_vmx_check_permission has verified cpl=0 */ - kvm_write_guest_virt_system(&vcpu->arch.emulate_ctxt, gva, - &field_value, (is_long_mode(vcpu) ? 8 : 4), NULL); - } -@@ -8189,7 +8200,7 @@ static int handle_vmptrst(struct kvm_vcpu *vcpu) - if (get_vmx_mem_address(vcpu, exit_qualification, - vmx_instruction_info, true, &vmcs_gva)) - return 1; -- /* ok to use *_system, as hardware has verified cpl=0 */ -+ /* *_system ok, nested_vmx_check_permission has verified cpl=0 */ - if (kvm_write_guest_virt_system(&vcpu->arch.emulate_ctxt, vmcs_gva, - (void *)&to_vmx(vcpu)->nested.current_vmptr, - sizeof(u64), &e)) { --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-007-KVM-x86-pass-kvm_vcpu-to-kvm_read_guest_virt-a.patch b/patches.kernel.org/4.17.2-007-KVM-x86-pass-kvm_vcpu-to-kvm_read_guest_virt-a.patch deleted file mode 100644 index 0063edc..0000000 --- a/patches.kernel.org/4.17.2-007-KVM-x86-pass-kvm_vcpu-to-kvm_read_guest_virt-a.patch +++ /dev/null @@ -1,203 +0,0 @@ -From: Paolo Bonzini -Date: Wed, 6 Jun 2018 17:37:49 +0200 -Subject: [PATCH] KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and - kvm_write_guest_virt_system -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: ce14e868a54edeb2e30cb7a7b104a2fc4b9d76ca - -commit ce14e868a54edeb2e30cb7a7b104a2fc4b9d76ca upstream. - -Int the next patch the emulator's .read_std and .write_std callbacks will -grow another argument, which is not needed in kvm_read_guest_virt and -kvm_write_guest_virt_system's callers. Since we have to make separate -functions, let's give the currently existing names a nicer interface, too. - -Fixes: 129a72a0d3c8 ("KVM: x86: Introduce segmented_write_std", 2017-01-12) -Cc: stable@vger.kernel.org -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/kvm/vmx.c | 23 ++++++++++------------- - arch/x86/kvm/x86.c | 39 ++++++++++++++++++++++++++------------- - arch/x86/kvm/x86.h | 4 ++-- - 3 files changed, 38 insertions(+), 28 deletions(-) - -diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c -index 3ae39d8a11ca..82f5e915e568 100644 ---- a/arch/x86/kvm/vmx.c -+++ b/arch/x86/kvm/vmx.c -@@ -7588,8 +7588,7 @@ static int nested_vmx_get_vmptr(struct kvm_vcpu *vcpu, gpa_t *vmpointer) - vmcs_read32(VMX_INSTRUCTION_INFO), false, &gva)) - return 1; - -- if (kvm_read_guest_virt(&vcpu->arch.emulate_ctxt, gva, vmpointer, -- sizeof(*vmpointer), &e)) { -+ if (kvm_read_guest_virt(vcpu, gva, vmpointer, sizeof(*vmpointer), &e)) { - kvm_inject_page_fault(vcpu, &e); - return 1; - } -@@ -8041,8 +8040,8 @@ static int handle_vmread(struct kvm_vcpu *vcpu) - vmx_instruction_info, true, &gva)) - return 1; - /* _system ok, nested_vmx_check_permission has verified cpl=0 */ -- kvm_write_guest_virt_system(&vcpu->arch.emulate_ctxt, gva, -- &field_value, (is_long_mode(vcpu) ? 8 : 4), NULL); -+ kvm_write_guest_virt_system(vcpu, gva, &field_value, -+ (is_long_mode(vcpu) ? 8 : 4), NULL); - } - - nested_vmx_succeed(vcpu); -@@ -8080,8 +8079,8 @@ static int handle_vmwrite(struct kvm_vcpu *vcpu) - if (get_vmx_mem_address(vcpu, exit_qualification, - vmx_instruction_info, false, &gva)) - return 1; -- if (kvm_read_guest_virt(&vcpu->arch.emulate_ctxt, gva, -- &field_value, (is_64_bit_mode(vcpu) ? 8 : 4), &e)) { -+ if (kvm_read_guest_virt(vcpu, gva, &field_value, -+ (is_64_bit_mode(vcpu) ? 8 : 4), &e)) { - kvm_inject_page_fault(vcpu, &e); - return 1; - } -@@ -8201,9 +8200,9 @@ static int handle_vmptrst(struct kvm_vcpu *vcpu) - vmx_instruction_info, true, &vmcs_gva)) - return 1; - /* *_system ok, nested_vmx_check_permission has verified cpl=0 */ -- if (kvm_write_guest_virt_system(&vcpu->arch.emulate_ctxt, vmcs_gva, -- (void *)&to_vmx(vcpu)->nested.current_vmptr, -- sizeof(u64), &e)) { -+ if (kvm_write_guest_virt_system(vcpu, vmcs_gva, -+ (void *)&to_vmx(vcpu)->nested.current_vmptr, -+ sizeof(u64), &e)) { - kvm_inject_page_fault(vcpu, &e); - return 1; - } -@@ -8250,8 +8249,7 @@ static int handle_invept(struct kvm_vcpu *vcpu) - if (get_vmx_mem_address(vcpu, vmcs_readl(EXIT_QUALIFICATION), - vmx_instruction_info, false, &gva)) - return 1; -- if (kvm_read_guest_virt(&vcpu->arch.emulate_ctxt, gva, &operand, -- sizeof(operand), &e)) { -+ if (kvm_read_guest_virt(vcpu, gva, &operand, sizeof(operand), &e)) { - kvm_inject_page_fault(vcpu, &e); - return 1; - } -@@ -8315,8 +8313,7 @@ static int handle_invvpid(struct kvm_vcpu *vcpu) - if (get_vmx_mem_address(vcpu, vmcs_readl(EXIT_QUALIFICATION), - vmx_instruction_info, false, &gva)) - return 1; -- if (kvm_read_guest_virt(&vcpu->arch.emulate_ctxt, gva, &operand, -- sizeof(operand), &e)) { -+ if (kvm_read_guest_virt(vcpu, gva, &operand, sizeof(operand), &e)) { - kvm_inject_page_fault(vcpu, &e); - return 1; - } -diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 9466adae8434..1fcdb3489c28 100644 ---- a/arch/x86/kvm/x86.c -+++ b/arch/x86/kvm/x86.c -@@ -4787,11 +4787,10 @@ static int kvm_fetch_guest_virt(struct x86_emulate_ctxt *ctxt, - return X86EMUL_CONTINUE; - } - --int kvm_read_guest_virt(struct x86_emulate_ctxt *ctxt, -+int kvm_read_guest_virt(struct kvm_vcpu *vcpu, - gva_t addr, void *val, unsigned int bytes, - struct x86_exception *exception) - { -- struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); - u32 access = (kvm_x86_ops->get_cpl(vcpu) == 3) ? PFERR_USER_MASK : 0; - - return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access, -@@ -4799,9 +4798,9 @@ int kvm_read_guest_virt(struct x86_emulate_ctxt *ctxt, - } - EXPORT_SYMBOL_GPL(kvm_read_guest_virt); - --static int kvm_read_guest_virt_system(struct x86_emulate_ctxt *ctxt, -- gva_t addr, void *val, unsigned int bytes, -- struct x86_exception *exception) -+static int emulator_read_std(struct x86_emulate_ctxt *ctxt, -+ gva_t addr, void *val, unsigned int bytes, -+ struct x86_exception *exception) - { - struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); - return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, 0, exception); -@@ -4816,18 +4815,16 @@ static int kvm_read_guest_phys_system(struct x86_emulate_ctxt *ctxt, - return r < 0 ? X86EMUL_IO_NEEDED : X86EMUL_CONTINUE; - } - --int kvm_write_guest_virt_system(struct x86_emulate_ctxt *ctxt, -- gva_t addr, void *val, -- unsigned int bytes, -- struct x86_exception *exception) -+static int kvm_write_guest_virt_helper(gva_t addr, void *val, unsigned int bytes, -+ struct kvm_vcpu *vcpu, u32 access, -+ struct x86_exception *exception) - { -- struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); - void *data = val; - int r = X86EMUL_CONTINUE; - - while (bytes) { - gpa_t gpa = vcpu->arch.walk_mmu->gva_to_gpa(vcpu, addr, -- PFERR_WRITE_MASK, -+ access, - exception); - unsigned offset = addr & (PAGE_SIZE-1); - unsigned towrite = min(bytes, (unsigned)PAGE_SIZE - offset); -@@ -4848,6 +4845,22 @@ int kvm_write_guest_virt_system(struct x86_emulate_ctxt *ctxt, - out: - return r; - } -+ -+static int emulator_write_std(struct x86_emulate_ctxt *ctxt, gva_t addr, void *val, -+ unsigned int bytes, struct x86_exception *exception) -+{ -+ struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); -+ -+ return kvm_write_guest_virt_helper(addr, val, bytes, vcpu, -+ PFERR_WRITE_MASK, exception); -+} -+ -+int kvm_write_guest_virt_system(struct kvm_vcpu *vcpu, gva_t addr, void *val, -+ unsigned int bytes, struct x86_exception *exception) -+{ -+ return kvm_write_guest_virt_helper(addr, val, bytes, vcpu, -+ PFERR_WRITE_MASK, exception); -+} - EXPORT_SYMBOL_GPL(kvm_write_guest_virt_system); - - int handle_ud(struct kvm_vcpu *vcpu) -@@ -5600,8 +5613,8 @@ static int emulator_pre_leave_smm(struct x86_emulate_ctxt *ctxt, u64 smbase) - static const struct x86_emulate_ops emulate_ops = { - .read_gpr = emulator_read_gpr, - .write_gpr = emulator_write_gpr, -- .read_std = kvm_read_guest_virt_system, -- .write_std = kvm_write_guest_virt_system, -+ .read_std = emulator_read_std, -+ .write_std = emulator_write_std, - .read_phys = kvm_read_guest_phys_system, - .fetch = kvm_fetch_guest_virt, - .read_emulated = emulator_read_emulated, -diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h -index c9492f764902..331993c49dae 100644 ---- a/arch/x86/kvm/x86.h -+++ b/arch/x86/kvm/x86.h -@@ -247,11 +247,11 @@ int kvm_inject_realmode_interrupt(struct kvm_vcpu *vcpu, int irq, int inc_eip); - void kvm_write_tsc(struct kvm_vcpu *vcpu, struct msr_data *msr); - u64 get_kvmclock_ns(struct kvm *kvm); - --int kvm_read_guest_virt(struct x86_emulate_ctxt *ctxt, -+int kvm_read_guest_virt(struct kvm_vcpu *vcpu, - gva_t addr, void *val, unsigned int bytes, - struct x86_exception *exception); - --int kvm_write_guest_virt_system(struct x86_emulate_ctxt *ctxt, -+int kvm_write_guest_virt_system(struct kvm_vcpu *vcpu, - gva_t addr, void *val, unsigned int bytes, - struct x86_exception *exception); - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-008-kvm-x86-use-correct-privilege-level-for-sgdt-s.patch b/patches.kernel.org/4.17.2-008-kvm-x86-use-correct-privilege-level-for-sgdt-s.patch deleted file mode 100644 index 7b81ea6..0000000 --- a/patches.kernel.org/4.17.2-008-kvm-x86-use-correct-privilege-level-for-sgdt-s.patch +++ /dev/null @@ -1,170 +0,0 @@ -From: Paolo Bonzini -Date: Wed, 6 Jun 2018 17:38:09 +0200 -Subject: [PATCH] kvm: x86: use correct privilege level for - sgdt/sidt/fxsave/fxrstor access -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 3c9fa24ca7c9c47605672916491f79e8ccacb9e6 - -commit 3c9fa24ca7c9c47605672916491f79e8ccacb9e6 upstream. - -The functions that were used in the emulation of fxrstor, fxsave, sgdt and -sidt were originally meant for task switching, and as such they did not -check privilege levels. This is very bad when the same functions are used -in the emulation of unprivileged instructions. This is CVE-2018-10853. - -The obvious fix is to add a new argument to ops->read_std and ops->write_std, -which decides whether the access is a "system" access or should use the -processor's CPL. - -Fixes: 129a72a0d3c8 ("KVM: x86: Introduce segmented_write_std", 2017-01-12) -Signed-off-by: Paolo Bonzini -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/x86/include/asm/kvm_emulate.h | 6 ++++-- - arch/x86/kvm/emulate.c | 12 ++++++------ - arch/x86/kvm/x86.c | 22 ++++++++++++++++------ - 3 files changed, 26 insertions(+), 14 deletions(-) - -diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h -index b24b1c8b3979..0f82cd91cd3c 100644 ---- a/arch/x86/include/asm/kvm_emulate.h -+++ b/arch/x86/include/asm/kvm_emulate.h -@@ -107,11 +107,12 @@ struct x86_emulate_ops { - * @addr: [IN ] Linear address from which to read. - * @val: [OUT] Value read from memory, zero-extended to 'u_long'. - * @bytes: [IN ] Number of bytes to read from memory. -+ * @system:[IN ] Whether the access is forced to be at CPL0. - */ - int (*read_std)(struct x86_emulate_ctxt *ctxt, - unsigned long addr, void *val, - unsigned int bytes, -- struct x86_exception *fault); -+ struct x86_exception *fault, bool system); - - /* - * read_phys: Read bytes of standard (non-emulated/special) memory. -@@ -129,10 +130,11 @@ struct x86_emulate_ops { - * @addr: [IN ] Linear address to which to write. - * @val: [OUT] Value write to memory, zero-extended to 'u_long'. - * @bytes: [IN ] Number of bytes to write to memory. -+ * @system:[IN ] Whether the access is forced to be at CPL0. - */ - int (*write_std)(struct x86_emulate_ctxt *ctxt, - unsigned long addr, void *val, unsigned int bytes, -- struct x86_exception *fault); -+ struct x86_exception *fault, bool system); - /* - * fetch: Read bytes of standard (non-emulated/special) memory. - * Used for instruction fetch. -diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c -index fcf54642b293..4c4f4263420c 100644 ---- a/arch/x86/kvm/emulate.c -+++ b/arch/x86/kvm/emulate.c -@@ -815,14 +815,14 @@ static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel) - static int linear_read_system(struct x86_emulate_ctxt *ctxt, ulong linear, - void *data, unsigned size) - { -- return ctxt->ops->read_std(ctxt, linear, data, size, &ctxt->exception); -+ return ctxt->ops->read_std(ctxt, linear, data, size, &ctxt->exception, true); - } - - static int linear_write_system(struct x86_emulate_ctxt *ctxt, - ulong linear, void *data, - unsigned int size) - { -- return ctxt->ops->write_std(ctxt, linear, data, size, &ctxt->exception); -+ return ctxt->ops->write_std(ctxt, linear, data, size, &ctxt->exception, true); - } - - static int segmented_read_std(struct x86_emulate_ctxt *ctxt, -@@ -836,7 +836,7 @@ static int segmented_read_std(struct x86_emulate_ctxt *ctxt, - rc = linearize(ctxt, addr, size, false, &linear); - if (rc != X86EMUL_CONTINUE) - return rc; -- return ctxt->ops->read_std(ctxt, linear, data, size, &ctxt->exception); -+ return ctxt->ops->read_std(ctxt, linear, data, size, &ctxt->exception, false); - } - - static int segmented_write_std(struct x86_emulate_ctxt *ctxt, -@@ -850,7 +850,7 @@ static int segmented_write_std(struct x86_emulate_ctxt *ctxt, - rc = linearize(ctxt, addr, size, true, &linear); - if (rc != X86EMUL_CONTINUE) - return rc; -- return ctxt->ops->write_std(ctxt, linear, data, size, &ctxt->exception); -+ return ctxt->ops->write_std(ctxt, linear, data, size, &ctxt->exception, false); - } - - /* -@@ -2928,12 +2928,12 @@ static bool emulator_io_port_access_allowed(struct x86_emulate_ctxt *ctxt, - #ifdef CONFIG_X86_64 - base |= ((u64)base3) << 32; - #endif -- r = ops->read_std(ctxt, base + 102, &io_bitmap_ptr, 2, NULL); -+ r = ops->read_std(ctxt, base + 102, &io_bitmap_ptr, 2, NULL, true); - if (r != X86EMUL_CONTINUE) - return false; - if (io_bitmap_ptr + port/8 > desc_limit_scaled(&tr_seg)) - return false; -- r = ops->read_std(ctxt, base + io_bitmap_ptr + port/8, &perm, 2, NULL); -+ r = ops->read_std(ctxt, base + io_bitmap_ptr + port/8, &perm, 2, NULL, true); - if (r != X86EMUL_CONTINUE) - return false; - if ((perm >> bit_idx) & mask) -diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 1fcdb3489c28..fbc4d17e3ecc 100644 ---- a/arch/x86/kvm/x86.c -+++ b/arch/x86/kvm/x86.c -@@ -4800,10 +4800,15 @@ EXPORT_SYMBOL_GPL(kvm_read_guest_virt); - - static int emulator_read_std(struct x86_emulate_ctxt *ctxt, - gva_t addr, void *val, unsigned int bytes, -- struct x86_exception *exception) -+ struct x86_exception *exception, bool system) - { - struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); -- return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, 0, exception); -+ u32 access = 0; -+ -+ if (!system && kvm_x86_ops->get_cpl(vcpu) == 3) -+ access |= PFERR_USER_MASK; -+ -+ return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access, exception); - } - - static int kvm_read_guest_phys_system(struct x86_emulate_ctxt *ctxt, -@@ -4847,12 +4852,17 @@ static int kvm_write_guest_virt_helper(gva_t addr, void *val, unsigned int bytes - } - - static int emulator_write_std(struct x86_emulate_ctxt *ctxt, gva_t addr, void *val, -- unsigned int bytes, struct x86_exception *exception) -+ unsigned int bytes, struct x86_exception *exception, -+ bool system) - { - struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt); -+ u32 access = PFERR_WRITE_MASK; -+ -+ if (!system && kvm_x86_ops->get_cpl(vcpu) == 3) -+ access |= PFERR_USER_MASK; - - return kvm_write_guest_virt_helper(addr, val, bytes, vcpu, -- PFERR_WRITE_MASK, exception); -+ access, exception); - } - - int kvm_write_guest_virt_system(struct kvm_vcpu *vcpu, gva_t addr, void *val, -@@ -4871,8 +4881,8 @@ int handle_ud(struct kvm_vcpu *vcpu) - struct x86_exception e; - - if (force_emulation_prefix && -- kvm_read_guest_virt(&vcpu->arch.emulate_ctxt, -- kvm_get_linear_rip(vcpu), sig, sizeof(sig), &e) == 0 && -+ kvm_read_guest_virt(vcpu, kvm_get_linear_rip(vcpu), -+ sig, sizeof(sig), &e) == 0 && - memcmp(sig, "\xf\xbkvm", sizeof(sig)) == 0) { - kvm_rip_write(vcpu, kvm_rip_read(vcpu) + sizeof(sig)); - emul_type = 0; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-009-staging-android-ion-Switch-to-pr_warn_once-in-.patch b/patches.kernel.org/4.17.2-009-staging-android-ion-Switch-to-pr_warn_once-in-.patch deleted file mode 100644 index aac6275..0000000 --- a/patches.kernel.org/4.17.2-009-staging-android-ion-Switch-to-pr_warn_once-in-.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Laura Abbott -Date: Mon, 14 May 2018 14:35:09 -0700 -Subject: [PATCH] staging: android: ion: Switch to pr_warn_once in - ion_buffer_destroy -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 45ad559a29629cb1c64ee636563c69b71524f077 - -commit 45ad559a29629cb1c64ee636563c69b71524f077 upstream. - -Syzbot reported yet another warning with Ion: - -WARNING: CPU: 0 PID: 1467 at drivers/staging/android/ion/ion.c:122 -ion_buffer_destroy+0xd4/0x190 drivers/staging/android/ion/ion.c:122 -Kernel panic - not syncing: panic_on_warn set ... - -This is catching that a buffer was freed with an existing kernel mapping -still present. This can be easily be triggered from userspace by calling -DMA_BUF_SYNC_START without calling DMA_BUF_SYNC_END. Switch to a single -pr_warn_once to indicate the error without being disruptive. - -Reported-by: syzbot+cd8bcd40cb049efa2770@syzkaller.appspotmail.com -Reported-by: syzbot -Signed-off-by: Laura Abbott -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/staging/android/ion/ion.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c -index e74db7902549..a68329411b29 100644 ---- a/drivers/staging/android/ion/ion.c -+++ b/drivers/staging/android/ion/ion.c -@@ -114,8 +114,11 @@ static struct ion_buffer *ion_buffer_create(struct ion_heap *heap, - - void ion_buffer_destroy(struct ion_buffer *buffer) - { -- if (WARN_ON(buffer->kmap_cnt > 0)) -+ if (buffer->kmap_cnt > 0) { -+ pr_warn_once("%s: buffer still mapped in the kernel\n", -+ __func__); - buffer->heap->ops->unmap_kernel(buffer->heap, buffer); -+ } - buffer->heap->ops->free(buffer); - kfree(buffer); - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-010-NFC-pn533-don-t-send-USB-data-off-of-the-stack.patch b/patches.kernel.org/4.17.2-010-NFC-pn533-don-t-send-USB-data-off-of-the-stack.patch deleted file mode 100644 index 3bd6ffe..0000000 --- a/patches.kernel.org/4.17.2-010-NFC-pn533-don-t-send-USB-data-off-of-the-stack.patch +++ /dev/null @@ -1,150 +0,0 @@ -From: Greg Kroah-Hartman -Date: Sun, 20 May 2018 15:19:46 +0200 -Subject: [PATCH] NFC: pn533: don't send USB data off of the stack -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: dbafc28955fa6779dc23d1607a0fee5e509a278b - -commit dbafc28955fa6779dc23d1607a0fee5e509a278b upstream. - -It's amazing that this driver ever worked, but now that x86 doesn't -allow USB data to be sent off of the stack, it really does not work at -all. Fix this up by properly allocating the data for the small -"commands" that get sent to the device off of the stack. - -We do this for one command by having a whole urb just for ack messages, -as they can be submitted in interrupt context, so we can not use -usb_bulk_msg(). But the poweron command can sleep (and does), so use -usb_bulk_msg() for that transfer. - -Reported-by: Carlos Manuel Santos -Cc: Samuel Ortiz -Cc: Stephen Hemminger -Cc: stable -Reviewed-by: Johan Hovold -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/nfc/pn533/usb.c | 42 +++++++++++++++++++++++++++++------------ - 1 file changed, 30 insertions(+), 12 deletions(-) - -diff --git a/drivers/nfc/pn533/usb.c b/drivers/nfc/pn533/usb.c -index e153e8b64bb8..d5553c47014f 100644 ---- a/drivers/nfc/pn533/usb.c -+++ b/drivers/nfc/pn533/usb.c -@@ -62,6 +62,9 @@ struct pn533_usb_phy { - struct urb *out_urb; - struct urb *in_urb; - -+ struct urb *ack_urb; -+ u8 *ack_buffer; -+ - struct pn533 *priv; - }; - -@@ -150,13 +153,16 @@ static int pn533_usb_send_ack(struct pn533 *dev, gfp_t flags) - struct pn533_usb_phy *phy = dev->phy; - static const u8 ack[6] = {0x00, 0x00, 0xff, 0x00, 0xff, 0x00}; - /* spec 7.1.1.3: Preamble, SoPC (2), ACK Code (2), Postamble */ -- int rc; - -- phy->out_urb->transfer_buffer = (u8 *)ack; -- phy->out_urb->transfer_buffer_length = sizeof(ack); -- rc = usb_submit_urb(phy->out_urb, flags); -+ if (!phy->ack_buffer) { -+ phy->ack_buffer = kmemdup(ack, sizeof(ack), flags); -+ if (!phy->ack_buffer) -+ return -ENOMEM; -+ } - -- return rc; -+ phy->ack_urb->transfer_buffer = phy->ack_buffer; -+ phy->ack_urb->transfer_buffer_length = sizeof(ack); -+ return usb_submit_urb(phy->ack_urb, flags); - } - - static int pn533_usb_send_frame(struct pn533 *dev, -@@ -375,26 +381,31 @@ static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy) - /* Power on th reader (CCID cmd) */ - u8 cmd[10] = {PN533_ACR122_PC_TO_RDR_ICCPOWERON, - 0, 0, 0, 0, 0, 0, 3, 0, 0}; -+ char *buffer; -+ int transferred; - int rc; - void *cntx; - struct pn533_acr122_poweron_rdr_arg arg; - - dev_dbg(&phy->udev->dev, "%s\n", __func__); - -+ buffer = kmemdup(cmd, sizeof(cmd), GFP_KERNEL); -+ if (!buffer) -+ return -ENOMEM; -+ - init_completion(&arg.done); - cntx = phy->in_urb->context; /* backup context */ - - phy->in_urb->complete = pn533_acr122_poweron_rdr_resp; - phy->in_urb->context = &arg; - -- phy->out_urb->transfer_buffer = cmd; -- phy->out_urb->transfer_buffer_length = sizeof(cmd); -- - print_hex_dump_debug("ACR122 TX: ", DUMP_PREFIX_NONE, 16, 1, - cmd, sizeof(cmd), false); - -- rc = usb_submit_urb(phy->out_urb, GFP_KERNEL); -- if (rc) { -+ rc = usb_bulk_msg(phy->udev, phy->out_urb->pipe, buffer, sizeof(cmd), -+ &transferred, 0); -+ kfree(buffer); -+ if (rc || (transferred != sizeof(cmd))) { - nfc_err(&phy->udev->dev, - "Reader power on cmd error %d\n", rc); - return rc; -@@ -490,8 +501,9 @@ static int pn533_usb_probe(struct usb_interface *interface, - - phy->in_urb = usb_alloc_urb(0, GFP_KERNEL); - phy->out_urb = usb_alloc_urb(0, GFP_KERNEL); -+ phy->ack_urb = usb_alloc_urb(0, GFP_KERNEL); - -- if (!phy->in_urb || !phy->out_urb) -+ if (!phy->in_urb || !phy->out_urb || !phy->ack_urb) - goto error; - - usb_fill_bulk_urb(phy->in_urb, phy->udev, -@@ -501,7 +513,9 @@ static int pn533_usb_probe(struct usb_interface *interface, - usb_fill_bulk_urb(phy->out_urb, phy->udev, - usb_sndbulkpipe(phy->udev, out_endpoint), - NULL, 0, pn533_send_complete, phy); -- -+ usb_fill_bulk_urb(phy->ack_urb, phy->udev, -+ usb_sndbulkpipe(phy->udev, out_endpoint), -+ NULL, 0, pn533_send_complete, phy); - - switch (id->driver_info) { - case PN533_DEVICE_STD: -@@ -554,6 +568,7 @@ static int pn533_usb_probe(struct usb_interface *interface, - error: - usb_free_urb(phy->in_urb); - usb_free_urb(phy->out_urb); -+ usb_free_urb(phy->ack_urb); - usb_put_dev(phy->udev); - kfree(in_buf); - -@@ -573,10 +588,13 @@ static void pn533_usb_disconnect(struct usb_interface *interface) - - usb_kill_urb(phy->in_urb); - usb_kill_urb(phy->out_urb); -+ usb_kill_urb(phy->ack_urb); - - kfree(phy->in_urb->transfer_buffer); - usb_free_urb(phy->in_urb); - usb_free_urb(phy->out_urb); -+ usb_free_urb(phy->ack_urb); -+ kfree(phy->ack_buffer); - - nfc_info(&interface->dev, "NXP PN533 NFC device disconnected\n"); - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-011-usbip-vhci_sysfs-fix-potential-Spectre-v1.patch b/patches.kernel.org/4.17.2-011-usbip-vhci_sysfs-fix-potential-Spectre-v1.patch deleted file mode 100644 index 3354352..0000000 --- a/patches.kernel.org/4.17.2-011-usbip-vhci_sysfs-fix-potential-Spectre-v1.patch +++ /dev/null @@ -1,107 +0,0 @@ -From: "Gustavo A. R. Silva" -Date: Fri, 18 May 2018 20:13:42 -0500 -Subject: [PATCH] usbip: vhci_sysfs: fix potential Spectre v1 -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: a0d6ec88090d7b1b008429c44532a388e29bb1bd - -commit a0d6ec88090d7b1b008429c44532a388e29bb1bd upstream. - -pdev_nr and rhport can be controlled by user-space, hence leading to -a potential exploitation of the Spectre variant 1 vulnerability. - -This issue was detected with the help of Smatch: -drivers/usb/usbip/vhci_sysfs.c:238 detach_store() warn: potential spectre issue 'vhcis' -drivers/usb/usbip/vhci_sysfs.c:328 attach_store() warn: potential spectre issue 'vhcis' -drivers/usb/usbip/vhci_sysfs.c:338 attach_store() warn: potential spectre issue 'vhci->vhci_hcd_ss->vdev' -drivers/usb/usbip/vhci_sysfs.c:340 attach_store() warn: potential spectre issue 'vhci->vhci_hcd_hs->vdev' - -Fix this by sanitizing pdev_nr and rhport before using them to index -vhcis and vhci->vhci_hcd_ss->vdev respectively. - -Notice that given that speculation windows are large, the policy is -to kill the speculation on the first load and not worry if it can be -completed with a dependent load/store [1]. - -[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2 - -Cc: stable@vger.kernel.org -Signed-off-by: Gustavo A. R. Silva -Acked-by: Shuah Khan (Samsung OSG) -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/usbip/vhci_sysfs.c | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -diff --git a/drivers/usb/usbip/vhci_sysfs.c b/drivers/usb/usbip/vhci_sysfs.c -index 48808388ec33..be37aec250c2 100644 ---- a/drivers/usb/usbip/vhci_sysfs.c -+++ b/drivers/usb/usbip/vhci_sysfs.c -@@ -10,6 +10,9 @@ - #include - #include - -+/* Hardening for Spectre-v1 */ -+#include -+ - #include "usbip_common.h" - #include "vhci.h" - -@@ -205,16 +208,20 @@ static int vhci_port_disconnect(struct vhci_hcd *vhci_hcd, __u32 rhport) - return 0; - } - --static int valid_port(__u32 pdev_nr, __u32 rhport) -+static int valid_port(__u32 *pdev_nr, __u32 *rhport) - { -- if (pdev_nr >= vhci_num_controllers) { -- pr_err("pdev %u\n", pdev_nr); -+ if (*pdev_nr >= vhci_num_controllers) { -+ pr_err("pdev %u\n", *pdev_nr); - return 0; - } -- if (rhport >= VHCI_HC_PORTS) { -- pr_err("rhport %u\n", rhport); -+ *pdev_nr = array_index_nospec(*pdev_nr, vhci_num_controllers); -+ -+ if (*rhport >= VHCI_HC_PORTS) { -+ pr_err("rhport %u\n", *rhport); - return 0; - } -+ *rhport = array_index_nospec(*rhport, VHCI_HC_PORTS); -+ - return 1; - } - -@@ -232,7 +239,7 @@ static ssize_t detach_store(struct device *dev, struct device_attribute *attr, - pdev_nr = port_to_pdev_nr(port); - rhport = port_to_rhport(port); - -- if (!valid_port(pdev_nr, rhport)) -+ if (!valid_port(&pdev_nr, &rhport)) - return -EINVAL; - - hcd = platform_get_drvdata(vhcis[pdev_nr].pdev); -@@ -258,7 +265,8 @@ static ssize_t detach_store(struct device *dev, struct device_attribute *attr, - } - static DEVICE_ATTR_WO(detach); - --static int valid_args(__u32 pdev_nr, __u32 rhport, enum usb_device_speed speed) -+static int valid_args(__u32 *pdev_nr, __u32 *rhport, -+ enum usb_device_speed speed) - { - if (!valid_port(pdev_nr, rhport)) { - return 0; -@@ -322,7 +330,7 @@ static ssize_t attach_store(struct device *dev, struct device_attribute *attr, - sockfd, devid, speed); - - /* check received parameters */ -- if (!valid_args(pdev_nr, rhport, speed)) -+ if (!valid_args(&pdev_nr, &rhport, speed)) - return -EINVAL; - - hcd = platform_get_drvdata(vhcis[pdev_nr].pdev); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-012-usb-storage-Add-support-for-FL_ALWAYS_SYNC-fla.patch b/patches.kernel.org/4.17.2-012-usb-storage-Add-support-for-FL_ALWAYS_SYNC-fla.patch deleted file mode 100644 index 45e663b..0000000 --- a/patches.kernel.org/4.17.2-012-usb-storage-Add-support-for-FL_ALWAYS_SYNC-fla.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Alexander Kappner -Date: Fri, 18 May 2018 21:50:15 -0700 -Subject: [PATCH] usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS - driver -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 8c4e97ddfe73a0958bb0abf7e6a3bc4cc3e04936 - -commit 8c4e97ddfe73a0958bb0abf7e6a3bc4cc3e04936 upstream. - -The ALWAYS_SYNC flag is currently honored by the usb-storage driver but not UAS -and is required to work around devices that become unstable upon being -queried for cache. This code is taken straight from: -drivers/usb/storage/scsiglue.c:284 - -Signed-off-by: Alexander Kappner -Acked-by: Alan Stern -Cc: stable -Acked-by: Oliver Neukum -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/storage/uas.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c -index 6034c39b67d1..9e9de5452860 100644 ---- a/drivers/usb/storage/uas.c -+++ b/drivers/usb/storage/uas.c -@@ -836,6 +836,12 @@ static int uas_slave_configure(struct scsi_device *sdev) - if (devinfo->flags & US_FL_BROKEN_FUA) - sdev->broken_fua = 1; - -+ /* UAS also needs to support FL_ALWAYS_SYNC */ -+ if (devinfo->flags & US_FL_ALWAYS_SYNC) { -+ sdev->skip_ms_page_3f = 1; -+ sdev->skip_ms_page_8 = 1; -+ sdev->wce_default_on = 1; -+ } - scsi_change_queue_depth(sdev, devinfo->qdepth - 2); - return 0; - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-013-usb-storage-Add-compatibility-quirk-flags-for-.patch b/patches.kernel.org/4.17.2-013-usb-storage-Add-compatibility-quirk-flags-for-.patch deleted file mode 100644 index df7ccb9..0000000 --- a/patches.kernel.org/4.17.2-013-usb-storage-Add-compatibility-quirk-flags-for-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From: Alexander Kappner -Date: Fri, 18 May 2018 21:50:16 -0700 -Subject: [PATCH] usb-storage: Add compatibility quirk flags for G-Technologies - G-Drive -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: ca7d9515d0e6825351ce106066cea1f60e40b1c8 - -commit ca7d9515d0e6825351ce106066cea1f60e40b1c8 upstream. - -The "G-Drive" (sold by G-Technology) external USB 3.0 drive - hangs on write access under UAS and usb-storage: - -[ 136.079121] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE -[ 136.079144] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current] -[ 136.079152] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb -[ 136.079176] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 00 00 00 00 00 00 00 08 00 00 -[ 136.079180] print_req_error: critical target error, dev sdi, sector 0 -[ 136.079183] Buffer I/O error on dev sdi, logical block 0, lost sync page write -[ 136.173148] EXT4-fs (sdi): mounted filesystem with ordered data mode. Opts: (null) -[ 140.583998] sd 15:0:0:0: [sdi] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE -[ 140.584010] sd 15:0:0:0: [sdi] tag#0 Sense Key : Illegal Request [current] -[ 140.584016] sd 15:0:0:0: [sdi] tag#0 Add. Sense: Invalid field in cdb -[ 140.584022] sd 15:0:0:0: [sdi] tag#0 CDB: Write(16) 8a 08 00 00 00 00 e8 c4 00 18 00 00 00 08 00 00 -[ 140.584025] print_req_error: critical target error, dev sdi, sector 3905159192 -[ 140.584044] print_req_error: critical target error, dev sdi, sector 3905159192 -[ 140.584052] Aborting journal on device sdi-8. - -The proposed patch adds compatibility quirks. Because the drive requires two -quirks (one to work with UAS, and another to work with usb-storage), adding this -under unusual_devs.h and not just unusual_uas.h so kernels compiled without UAS -receive the quirk. With the patch, the drive works reliably on UAS and usb- -storage. -(tested on NEC Corporation uPD720200 USB 3.0 host controller). - -Signed-off-by: Alexander Kappner -Acked-by: Alan Stern -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/storage/unusual_devs.h | 9 +++++++++ - drivers/usb/storage/unusual_uas.h | 9 +++++++++ - 2 files changed, 18 insertions(+) - -diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h -index 747d3a9596d9..22fcfccf453a 100644 ---- a/drivers/usb/storage/unusual_devs.h -+++ b/drivers/usb/storage/unusual_devs.h -@@ -2321,6 +2321,15 @@ UNUSUAL_DEV( 0x4146, 0xba01, 0x0100, 0x0100, - "Micro Mini 1GB", - USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NOT_LOCKABLE ), - -+/* "G-DRIVE" external HDD hangs on write without these. -+ * Patch submitted by Alexander Kappner -+ */ -+UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999, -+ "SimpleTech", -+ "External HDD", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_ALWAYS_SYNC), -+ - /* - * Nick Bowler - * SCSI stack spams (otherwise harmless) error messages. -diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h -index 38434d88954a..d0bdebd87ce3 100644 ---- a/drivers/usb/storage/unusual_uas.h -+++ b/drivers/usb/storage/unusual_uas.h -@@ -107,3 +107,12 @@ UNUSUAL_DEV(0x4971, 0x8017, 0x0000, 0x9999, - "External HDD", - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_NO_REPORT_OPCODES), -+ -+/* "G-DRIVE" external HDD hangs on write without these. -+ * Patch submitted by Alexander Kappner -+ */ -+UNUSUAL_DEV(0x4971, 0x8024, 0x0000, 0x9999, -+ "SimpleTech", -+ "External HDD", -+ USB_SC_DEVICE, USB_PR_DEVICE, NULL, -+ US_FL_ALWAYS_SYNC), --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-014-Input-xpad-add-GPD-Win-2-Controller-USB-IDs.patch b/patches.kernel.org/4.17.2-014-Input-xpad-add-GPD-Win-2-Controller-USB-IDs.patch deleted file mode 100644 index a432f09..0000000 --- a/patches.kernel.org/4.17.2-014-Input-xpad-add-GPD-Win-2-Controller-USB-IDs.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Ethan Lee -Date: Fri, 1 Jun 2018 11:46:08 -0700 -Subject: [PATCH] Input: xpad - add GPD Win 2 Controller USB IDs -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: c1ba08390a8bb13c927e699330896adc15b78205 - -commit c1ba08390a8bb13c927e699330896adc15b78205 upstream. - -GPD Win 2 Website: http://www.gpd.hk/gpdwin2.asp - -Tested on a unit from the first production run sent to Indiegogo backers - -Signed-off-by: Ethan Lee -Cc: stable@vger.kernel.org -Signed-off-by: Dmitry Torokhov -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/input/joystick/xpad.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c -index 06e9650b3b30..a89b81b35932 100644 ---- a/drivers/input/joystick/xpad.c -+++ b/drivers/input/joystick/xpad.c -@@ -123,6 +123,7 @@ static const struct xpad_device { - u8 mapping; - u8 xtype; - } xpad_device[] = { -+ { 0x0079, 0x18d4, "GPD Win 2 Controller", 0, XTYPE_XBOX360 }, - { 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX }, - { 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX }, - { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX }, -@@ -409,6 +410,7 @@ static const signed short xpad_abs_triggers[] = { - - static const struct usb_device_id xpad_table[] = { - { USB_INTERFACE_INFO('X', 'B', 0) }, /* X-Box USB-IF not approved class */ -+ XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 Controller */ - XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 controllers */ - XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 controllers */ - XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft X-Box One controllers */ --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-015-phy-qcom-qusb2-Fix-crash-if-nvmem-cell-not-spe.patch b/patches.kernel.org/4.17.2-015-phy-qcom-qusb2-Fix-crash-if-nvmem-cell-not-spe.patch deleted file mode 100644 index c83d2ab..0000000 --- a/patches.kernel.org/4.17.2-015-phy-qcom-qusb2-Fix-crash-if-nvmem-cell-not-spe.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Manu Gautam -Date: Thu, 3 May 2018 02:36:10 +0530 -Subject: [PATCH] phy: qcom-qusb2: Fix crash if nvmem cell not specified -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 0b4555e776ba0712c6fafb98b226b21fd05d2427 - -commit 0b4555e776ba0712c6fafb98b226b21fd05d2427 upstream. - -Driver currently crashes due to NULL pointer deference -while updating PHY tune register if nvmem cell is NULL. -Since, fused value for Tune1/2 register is optional, -we'd rather bail out. - -Fixes: ca04d9d3e1b1 ("phy: qcom-qusb2: New driver for QUSB2 PHY on Qcom chips") -Reviewed-by: Vivek Gautam -Reviewed-by: Evan Green -Cc: stable # 4.14+ -Signed-off-by: Manu Gautam -Signed-off-by: Kishon Vijay Abraham I -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/phy/qualcomm/phy-qcom-qusb2.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c -index 94afeac1a19e..40fdef8b5b75 100644 ---- a/drivers/phy/qualcomm/phy-qcom-qusb2.c -+++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c -@@ -315,6 +315,10 @@ static void qusb2_phy_set_tune2_param(struct qusb2_phy *qphy) - const struct qusb2_phy_cfg *cfg = qphy->cfg; - u8 *val; - -+ /* efuse register is optional */ -+ if (!qphy->cell) -+ return; -+ - /* - * Read efuse register having TUNE2/1 parameter's high nibble. - * If efuse register shows value as 0x0, or if we fail to find --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-016-usb-core-message-remove-extra-endianness-conve.patch b/patches.kernel.org/4.17.2-016-usb-core-message-remove-extra-endianness-conve.patch deleted file mode 100644 index c3c09ac..0000000 --- a/patches.kernel.org/4.17.2-016-usb-core-message-remove-extra-endianness-conve.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Ruslan Bilovol -Date: Fri, 25 May 2018 19:11:40 +0300 -Subject: [PATCH] usb: core: message: remove extra endianness conversion in - usb_set_isoch_delay -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 48b73d0fa11aa8613d51f7be61d2fa7f0ab05fd3 - -commit 48b73d0fa11aa8613d51f7be61d2fa7f0ab05fd3 upstream. - -No need to do extra endianness conversion in -usb_set_isoch_delay because it is already done -in usb_control_msg() - -Fixes: 886ee36e7205 ("usb: core: add support for USB_REQ_SET_ISOCH_DELAY") -Cc: Dmytro Panchenko -Cc: Felipe Balbi -Cc: stable # v4.16+ -Signed-off-by: Ruslan Bilovol -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/core/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 0c11d40a12bc..7b137003c2be 100644 ---- a/drivers/usb/core/message.c -+++ b/drivers/usb/core/message.c -@@ -940,7 +940,7 @@ int usb_set_isoch_delay(struct usb_device *dev) - return usb_control_msg(dev, usb_sndctrlpipe(dev, 0), - USB_REQ_SET_ISOCH_DELAY, - USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, -- cpu_to_le16(dev->hub_delay), 0, NULL, 0, -+ dev->hub_delay, 0, NULL, 0, - USB_CTRL_SET_TIMEOUT); - } - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-017-usb-typec-wcove-Remove-dependency-on-HW-FSM.patch b/patches.kernel.org/4.17.2-017-usb-typec-wcove-Remove-dependency-on-HW-FSM.patch deleted file mode 100644 index 7f0b735..0000000 --- a/patches.kernel.org/4.17.2-017-usb-typec-wcove-Remove-dependency-on-HW-FSM.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Heikki Krogerus -Date: Thu, 24 May 2018 13:49:52 +0300 -Subject: [PATCH] usb: typec: wcove: Remove dependency on HW FSM -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 05826ff135ee083d28c006fbde6e810f17437166 - -commit 05826ff135ee083d28c006fbde6e810f17437166 upstream. - -The USB Type-C PHY in Intel WhiskeyCove PMIC has build-in -USB Type-C state machine which we were relying on to -configure the CC lines correctly. This patch removes that -dependency and configures the CC line according to commands -from the port manager (tcpm.c) in wcove_set_cc(). - -This fixes an issue where USB devices attached to the USB -Type-C port do not get enumerated. When acting as -source/host, the HW FSM sometimes fails to configure the PHY -correctly. - -Fixes: 3c4fb9f16921 ("usb: typec: wcove: start using tcpm for USB PD support") -Cc: stable@vger.kernel.org -Signed-off-by: Heikki Krogerus -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/typec/typec_wcove.c | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/drivers/usb/typec/typec_wcove.c b/drivers/usb/typec/typec_wcove.c -index 19cca7f1b2c5..58dc7ea7cf0d 100644 ---- a/drivers/usb/typec/typec_wcove.c -+++ b/drivers/usb/typec/typec_wcove.c -@@ -202,6 +202,10 @@ static int wcove_init(struct tcpc_dev *tcpc) - struct wcove_typec *wcove = tcpc_to_wcove(tcpc); - int ret; - -+ ret = regmap_write(wcove->regmap, USBC_CONTROL1, 0); -+ if (ret) -+ return ret; -+ - /* Unmask everything */ - ret = regmap_write(wcove->regmap, USBC_IRQMASK1, 0); - if (ret) -@@ -285,8 +289,30 @@ static int wcove_get_cc(struct tcpc_dev *tcpc, enum typec_cc_status *cc1, - - static int wcove_set_cc(struct tcpc_dev *tcpc, enum typec_cc_status cc) - { -- /* XXX: Relying on the HW FSM to configure things correctly for now */ -- return 0; -+ struct wcove_typec *wcove = tcpc_to_wcove(tcpc); -+ unsigned int ctrl; -+ -+ switch (cc) { -+ case TYPEC_CC_RD: -+ ctrl = USBC_CONTROL1_MODE_SNK; -+ break; -+ case TYPEC_CC_RP_DEF: -+ ctrl = USBC_CONTROL1_CURSRC_UA_80 | USBC_CONTROL1_MODE_SRC; -+ break; -+ case TYPEC_CC_RP_1_5: -+ ctrl = USBC_CONTROL1_CURSRC_UA_180 | USBC_CONTROL1_MODE_SRC; -+ break; -+ case TYPEC_CC_RP_3_0: -+ ctrl = USBC_CONTROL1_CURSRC_UA_330 | USBC_CONTROL1_MODE_SRC; -+ break; -+ case TYPEC_CC_OPEN: -+ ctrl = 0; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ return regmap_write(wcove->regmap, USBC_CONTROL1, ctrl); - } - - static int wcove_set_polarity(struct tcpc_dev *tcpc, enum typec_cc_polarity pol) --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-018-usb-gadget-function-printer-avoid-wrong-list-h.patch b/patches.kernel.org/4.17.2-018-usb-gadget-function-printer-avoid-wrong-list-h.patch deleted file mode 100644 index b4da51b..0000000 --- a/patches.kernel.org/4.17.2-018-usb-gadget-function-printer-avoid-wrong-list-h.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Yoshihiro Shimoda -Date: Mon, 21 May 2018 20:18:07 +0900 -Subject: [PATCH] usb: gadget: function: printer: avoid wrong list handling in - printer_write() -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 4a014a7339f441b0851ce012f469c0fadac61c81 - -commit 4a014a7339f441b0851ce012f469c0fadac61c81 upstream. - -When printer_write() calls usb_ep_queue(), a udc driver (e.g. -renesas_usbhs driver) may call usb_gadget_giveback_request() in -the udc .queue ops immediately. Then, printer_write() calls -list_add(&req->list, &dev->tx_reqs_active) wrongly. After that, -if we do unbind the printer driver, WARN_ON() happens in -printer_func_unbind() because the list entry is not removed. - -So, this patch moves list_add(&req->list, &dev->tx_reqs_active) -calling before usb_ep_queue(). - -Signed-off-by: Yoshihiro Shimoda -Acked-by: Felipe Balbi -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/function/f_printer.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/gadget/function/f_printer.c b/drivers/usb/gadget/function/f_printer.c -index d359efe06c76..9c7ed2539ff7 100644 ---- a/drivers/usb/gadget/function/f_printer.c -+++ b/drivers/usb/gadget/function/f_printer.c -@@ -631,19 +631,19 @@ printer_write(struct file *fd, const char __user *buf, size_t len, loff_t *ptr) - return -EAGAIN; - } - -+ list_add(&req->list, &dev->tx_reqs_active); -+ - /* here, we unlock, and only unlock, to avoid deadlock. */ - spin_unlock(&dev->lock); - value = usb_ep_queue(dev->in_ep, req, GFP_ATOMIC); - spin_lock(&dev->lock); - if (value) { -+ list_del(&req->list); - list_add(&req->list, &dev->tx_reqs); - spin_unlock_irqrestore(&dev->lock, flags); - mutex_unlock(&dev->lock_printer_io); - return -EAGAIN; - } -- -- list_add(&req->list, &dev->tx_reqs_active); -- - } - - spin_unlock_irqrestore(&dev->lock, flags); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-019-usb-gadget-udc-renesas_usb3-fix-double-phy_put.patch b/patches.kernel.org/4.17.2-019-usb-gadget-udc-renesas_usb3-fix-double-phy_put.patch deleted file mode 100644 index 7d878ef..0000000 --- a/patches.kernel.org/4.17.2-019-usb-gadget-udc-renesas_usb3-fix-double-phy_put.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Yoshihiro Shimoda -Date: Mon, 2 Apr 2018 21:21:31 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: fix double phy_put() -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 8223b2f89ca63e203dcb54148e30d94979f17b0b - -commit 8223b2f89ca63e203dcb54148e30d94979f17b0b upstream. - -This patch fixes an issue that this driver cause double phy_put() -calling. This driver must not call phy_put() in the remove because -the driver calls devm_phy_get() in the probe. - -Fixes: 279d4bc64060 ("usb: gadget: udc: renesas_usb3: add support for generic phy") -Cc: # v4.15+ -Reviewed-by: Simon Horman -Signed-off-by: Yoshihiro Shimoda -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 409cde4e6a51..78a12a53dac9 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -2408,8 +2408,6 @@ static int renesas_usb3_remove(struct platform_device *pdev) - renesas_usb3_dma_free_prd(usb3, &pdev->dev); - - __renesas_usb3_ep_free_request(usb3->ep0_req); -- if (usb3->phy) -- phy_put(usb3->phy); - pm_runtime_disable(&pdev->dev); - - return 0; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-020-usb-gadget-udc-renesas_usb3-should-remove-debu.patch b/patches.kernel.org/4.17.2-020-usb-gadget-udc-renesas_usb3-should-remove-debu.patch deleted file mode 100644 index 9bc5b89..0000000 --- a/patches.kernel.org/4.17.2-020-usb-gadget-udc-renesas_usb3-should-remove-debu.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Yoshihiro Shimoda -Date: Tue, 10 Apr 2018 14:38:50 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: should remove debugfs -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 1990cf7c21ea185cec98c6d45a82c04481261e35 - -commit 1990cf7c21ea185cec98c6d45a82c04481261e35 upstream. - -This patch fixes an issue that this driver doesn't remove its debugfs. - -Fixes: 43ba968b00ea ("usb: gadget: udc: renesas_usb3: add debugfs to set the b-device mode") -Cc: # v4.14+ -Signed-off-by: Yoshihiro Shimoda -Reviewed-by: Simon Horman -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 78a12a53dac9..1c54a773b4aa 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -333,6 +333,7 @@ struct renesas_usb3 { - struct extcon_dev *extcon; - struct work_struct extcon_work; - struct phy *phy; -+ struct dentry *dentry; - - struct renesas_usb3_ep *usb3_ep; - int num_usb3_eps; -@@ -2393,8 +2394,12 @@ static void renesas_usb3_debugfs_init(struct renesas_usb3 *usb3, - - file = debugfs_create_file("b_device", 0644, root, usb3, - &renesas_usb3_b_device_fops); -- if (!file) -+ if (!file) { - dev_info(dev, "%s: Can't create debugfs mode\n", __func__); -+ debugfs_remove_recursive(root); -+ } else { -+ usb3->dentry = root; -+ } - } - - /*------- platform_driver ------------------------------------------------*/ -@@ -2402,6 +2407,7 @@ static int renesas_usb3_remove(struct platform_device *pdev) - { - struct renesas_usb3 *usb3 = platform_get_drvdata(pdev); - -+ debugfs_remove_recursive(usb3->dentry); - device_remove_file(&pdev->dev, &dev_attr_role); - - usb_del_gadget_udc(&usb3->gadget); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-021-usb-gadget-udc-renesas_usb3-should-call-pm_run.patch b/patches.kernel.org/4.17.2-021-usb-gadget-udc-renesas_usb3-should-call-pm_run.patch deleted file mode 100644 index b90dfd1..0000000 --- a/patches.kernel.org/4.17.2-021-usb-gadget-udc-renesas_usb3-should-call-pm_run.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Yoshihiro Shimoda -Date: Tue, 10 Apr 2018 14:38:51 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: should call - pm_runtime_enable() before add udc -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: d998844016b24a8d71b9aa5eae7e51d70f2de438 - -commit d998844016b24a8d71b9aa5eae7e51d70f2de438 upstream. - -This patch fixes an issue that this driver causes panic if a gadget -driver is already loaded because usb_add_gadget_udc() might call -renesas_usb3_start() via .udc_start, and then pm_runtime_get_sync() -in renesas_usb3_start() doesn't work correctly. -Note that the usb3_to_dev() macro should not be called at this timing -because the macro uses the gadget structure. - -Fixes: cf06df3fae28 ("usb: gadget: udc: renesas_usb3: move pm_runtime_{en,dis}able()") -Cc: # v4.15+ -Signed-off-by: Yoshihiro Shimoda -Reviewed-by: Simon Horman -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 1c54a773b4aa..738b7340ca10 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -2632,6 +2632,7 @@ static int renesas_usb3_probe(struct platform_device *pdev) - if (ret < 0) - goto err_alloc_prd; - -+ pm_runtime_enable(&pdev->dev); - ret = usb_add_gadget_udc(&pdev->dev, &usb3->gadget); - if (ret < 0) - goto err_add_udc; -@@ -2653,7 +2654,6 @@ static int renesas_usb3_probe(struct platform_device *pdev) - renesas_usb3_debugfs_init(usb3, &pdev->dev); - - dev_info(&pdev->dev, "probed%s\n", usb3->phy ? " with phy" : ""); -- pm_runtime_enable(usb3_to_dev(usb3)); - - return 0; - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-022-usb-gadget-udc-renesas_usb3-should-call-devm_p.patch b/patches.kernel.org/4.17.2-022-usb-gadget-udc-renesas_usb3-should-call-devm_p.patch deleted file mode 100644 index e54c4f8..0000000 --- a/patches.kernel.org/4.17.2-022-usb-gadget-udc-renesas_usb3-should-call-devm_p.patch +++ /dev/null @@ -1,63 +0,0 @@ -From: Yoshihiro Shimoda -Date: Tue, 10 Apr 2018 14:38:52 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: should call devm_phy_get() - before add udc -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 003bc1dee216b1fb8e02040a95672bea0f1fe797 - -commit 003bc1dee216b1fb8e02040a95672bea0f1fe797 upstream. - -This patch fixes an issue that this driver cannot call phy_init() -if a gadget driver is alreadly loaded because usb_add_gadget_udc() -might call renesas_usb3_start() via .udc_start. -This patch also revises the typo (s/an optional/optional/). - -Fixes: 279d4bc64060 ("usb: gadget: udc: renesas_usb3: add support for generic phy") -Cc: # v4.15+ -Signed-off-by: Yoshihiro Shimoda -Reviewed-by: Simon Horman -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 738b7340ca10..233bc049e78c 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -2632,6 +2632,14 @@ static int renesas_usb3_probe(struct platform_device *pdev) - if (ret < 0) - goto err_alloc_prd; - -+ /* -+ * This is optional. So, if this driver cannot get a phy, -+ * this driver will not handle a phy anymore. -+ */ -+ usb3->phy = devm_phy_get(&pdev->dev, "usb"); -+ if (IS_ERR(usb3->phy)) -+ usb3->phy = NULL; -+ - pm_runtime_enable(&pdev->dev); - ret = usb_add_gadget_udc(&pdev->dev, &usb3->gadget); - if (ret < 0) -@@ -2641,14 +2649,6 @@ static int renesas_usb3_probe(struct platform_device *pdev) - if (ret < 0) - goto err_dev_create; - -- /* -- * This is an optional. So, if this driver cannot get a phy, -- * this driver will not handle a phy anymore. -- */ -- usb3->phy = devm_phy_get(&pdev->dev, "usb"); -- if (IS_ERR(usb3->phy)) -- usb3->phy = NULL; -- - usb3->workaround_for_vbus = priv->workaround_for_vbus; - - renesas_usb3_debugfs_init(usb3, &pdev->dev); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-023-usb-gadget-udc-renesas_usb3-should-fail-if-dev.patch b/patches.kernel.org/4.17.2-023-usb-gadget-udc-renesas_usb3-should-fail-if-dev.patch deleted file mode 100644 index b02ff8a..0000000 --- a/patches.kernel.org/4.17.2-023-usb-gadget-udc-renesas_usb3-should-fail-if-dev.patch +++ /dev/null @@ -1,49 +0,0 @@ -From: Yoshihiro Shimoda -Date: Tue, 10 Apr 2018 14:38:53 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: should fail if devm_phy_get() - returns error -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 0259068f63f23a665ded28647f2f9cdb6b20dc72 - -commit 0259068f63f23a665ded28647f2f9cdb6b20dc72 upstream. - -This patch fixes an issue that this driver ignores errors other than -the non-existence of the device, f.e. a memory allocation failure -in devm_phy_get(). So, this patch replaces devm_phy_get() with -devm_phy_optional_get(). - -Reported-by: Simon Horman -Fixes: 279d4bc64060 ("usb: gadget: udc: renesas_usb3: add support for generic phy") -Cc: # v4.15+ -Reviewed-by: Simon Horman -Signed-off-by: Yoshihiro Shimoda -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 233bc049e78c..0e70163be417 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -2636,9 +2636,11 @@ static int renesas_usb3_probe(struct platform_device *pdev) - * This is optional. So, if this driver cannot get a phy, - * this driver will not handle a phy anymore. - */ -- usb3->phy = devm_phy_get(&pdev->dev, "usb"); -- if (IS_ERR(usb3->phy)) -- usb3->phy = NULL; -+ usb3->phy = devm_phy_optional_get(&pdev->dev, "usb"); -+ if (IS_ERR(usb3->phy)) { -+ ret = PTR_ERR(usb3->phy); -+ goto err_add_udc; -+ } - - pm_runtime_enable(&pdev->dev); - ret = usb_add_gadget_udc(&pdev->dev, &usb3->gadget); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-024-usb-gadget-udc-renesas_usb3-disable-the-contro.patch b/patches.kernel.org/4.17.2-024-usb-gadget-udc-renesas_usb3-disable-the-contro.patch deleted file mode 100644 index afb0719..0000000 --- a/patches.kernel.org/4.17.2-024-usb-gadget-udc-renesas_usb3-disable-the-contro.patch +++ /dev/null @@ -1,46 +0,0 @@ -From: Yoshihiro Shimoda -Date: Tue, 10 Apr 2018 14:38:54 +0900 -Subject: [PATCH] usb: gadget: udc: renesas_usb3: disable the controller's irqs - for reconnecting -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: bd6bce004d78b867ba0c6d3712f1c5b50398af9a - -commit bd6bce004d78b867ba0c6d3712f1c5b50398af9a upstream. - -This patch fixes an issue that reconnection is possible to fail -because unexpected state handling happens by the irqs. To fix the issue, -the driver disables the controller's irqs when disconnected. - -Fixes: 746bfe63bba3 ("usb: gadget: renesas_usb3: add support for Renesas USB3.0 peripheral controller") -Cc: # v4.5+ -Reviewed-by: Simon Horman -Signed-off-by: Yoshihiro Shimoda -Signed-off-by: Felipe Balbi -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/usb/gadget/udc/renesas_usb3.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c -index 0e70163be417..5caf78bbbf7c 100644 ---- a/drivers/usb/gadget/udc/renesas_usb3.c -+++ b/drivers/usb/gadget/udc/renesas_usb3.c -@@ -623,6 +623,13 @@ static void usb3_disconnect(struct renesas_usb3 *usb3) - usb3_usb2_pullup(usb3, 0); - usb3_clear_bit(usb3, USB30_CON_B3_CONNECT, USB3_USB30_CON); - usb3_reset_epc(usb3); -+ usb3_disable_irq_1(usb3, USB_INT_1_B2_RSUM | USB_INT_1_B3_PLLWKUP | -+ USB_INT_1_B3_LUPSUCS | USB_INT_1_B3_DISABLE | -+ USB_INT_1_SPEED | USB_INT_1_B3_WRMRST | -+ USB_INT_1_B3_HOTRST | USB_INT_1_B2_SPND | -+ USB_INT_1_B2_L1SPND | USB_INT_1_B2_USBRST); -+ usb3_clear_bit(usb3, USB_COM_CON_SPD_MODE, USB3_USB_COM_CON); -+ usb3_init_epc_registers(usb3); - - if (usb3->driver) - usb3->driver->disconnect(&usb3->gadget); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-025-serial-sh-sci-Stop-using-printk-format-pCr.patch b/patches.kernel.org/4.17.2-025-serial-sh-sci-Stop-using-printk-format-pCr.patch deleted file mode 100644 index e985f53..0000000 --- a/patches.kernel.org/4.17.2-025-serial-sh-sci-Stop-using-printk-format-pCr.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Geert Uytterhoeven -Date: Fri, 1 Jun 2018 11:28:21 +0200 -Subject: [PATCH] serial: sh-sci: Stop using printk format %pCr -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: d63c16f8e1ab761775275adcf54f4bef7c330295 - -commit d63c16f8e1ab761775275adcf54f4bef7c330295 upstream. - -Printk format "%pCr" will be removed soon, as clk_get_rate() must not be -called in atomic context. - -Replace it by open-coding the operation. This is safe here, as the code -runs in task context. - -Link: http://lkml.kernel.org/r/1527845302-12159-4-git-send-email-geert+renesas@glider.be -To: Jia-Ju Bai -To: Jonathan Corbet -To: Michael Turquette -To: Stephen Boyd -To: Zhang Rui -To: Eduardo Valentin -To: Eric Anholt -To: Stefan Wahren -To: Greg Kroah-Hartman -Cc: Sergey Senozhatsky -Cc: Petr Mladek -Cc: Linus Torvalds -Cc: Steven Rostedt -Cc: linux-doc@vger.kernel.org -Cc: linux-clk@vger.kernel.org -Cc: linux-pm@vger.kernel.org -Cc: linux-serial@vger.kernel.org -Cc: linux-arm-kernel@lists.infradead.org -Cc: linux-renesas-soc@vger.kernel.org -Cc: linux-kernel@vger.kernel.org -Cc: Geert Uytterhoeven -Cc: stable@vger.kernel.org # 4.5+ -Signed-off-by: Geert Uytterhoeven -Signed-off-by: Petr Mladek -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/tty/serial/sh-sci.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c -index fdbbff547106..a4f82ec665fe 100644 ---- a/drivers/tty/serial/sh-sci.c -+++ b/drivers/tty/serial/sh-sci.c -@@ -2704,8 +2704,8 @@ static int sci_init_clocks(struct sci_port *sci_port, struct device *dev) - dev_dbg(dev, "failed to get %s (%ld)\n", clk_names[i], - PTR_ERR(clk)); - else -- dev_dbg(dev, "clk %s is %pC rate %pCr\n", clk_names[i], -- clk, clk); -+ dev_dbg(dev, "clk %s is %pC rate %lu\n", clk_names[i], -+ clk, clk_get_rate(clk)); - sci_port->clks[i] = IS_ERR(clk) ? NULL : clk; - } - return 0; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-026-tty-serial-atmel-use-port-name-as-name-in-requ.patch b/patches.kernel.org/4.17.2-026-tty-serial-atmel-use-port-name-as-name-in-requ.patch deleted file mode 100644 index 57a6ad3..0000000 --- a/patches.kernel.org/4.17.2-026-tty-serial-atmel-use-port-name-as-name-in-requ.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: Sebastian Andrzej Siewior -Date: Mon, 7 May 2018 19:11:30 +0200 -Subject: [PATCH] tty/serial: atmel: use port->name as name in request_irq() -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 9594b5be7ec110ed11acec58fa94f3f293668c85 - -commit 9594b5be7ec110ed11acec58fa94f3f293668c85 upstream. - -I was puzzled while looking at /proc/interrupts and random things showed -up between reboots. This occurred more often but I realised it later. The -"correct" output should be: -|38: 11861 atmel-aic5 2 Level ttyS0 - -but I saw sometimes -|38: 6426 atmel-aic5 2 Level tty1 - -and accounted it wrongly as correct. This is use after free and the -former example randomly got the "old" pointer which pointed to the same -content. With SLAB_FREELIST_RANDOM and HARDENED I even got -|38: 7067 atmel-aic5 2 Level E=Started User Manager for UID 0 - -or other nonsense. -As it turns out the tty, pointer that is accessed in atmel_startup(), is -freed() before atmel_shutdown(). It seems to happen quite often that the -tty for ttyS0 is allocated and freed while ->shutdown is not invoked. I -don't do anything special - just a systemd boot :) - -Use dev_name(&pdev->dev) as the IRQ name for request_irq(). This exists -as long as the driver is loaded so no use-after-free here. - -Cc: stable@vger.kernel.org -Fixes: 761ed4a94582 ("tty: serial_core: convert uart_close to use tty_port_close") -Acked-by: Richard Genoud -Acked-by: Rob Herring -Signed-off-by: Sebastian Andrzej Siewior -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/tty/serial/atmel_serial.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c -index e287fe8f10fc..55b3eff148b1 100644 ---- a/drivers/tty/serial/atmel_serial.c -+++ b/drivers/tty/serial/atmel_serial.c -@@ -1757,7 +1757,6 @@ static int atmel_startup(struct uart_port *port) - { - struct platform_device *pdev = to_platform_device(port->dev); - struct atmel_uart_port *atmel_port = to_atmel_uart_port(port); -- struct tty_struct *tty = port->state->port.tty; - int retval; - - /* -@@ -1772,8 +1771,8 @@ static int atmel_startup(struct uart_port *port) - * Allocate the IRQ - */ - retval = request_irq(port->irq, atmel_interrupt, -- IRQF_SHARED | IRQF_COND_SUSPEND, -- tty ? tty->name : "atmel_serial", port); -+ IRQF_SHARED | IRQF_COND_SUSPEND, -+ dev_name(&pdev->dev), port); - if (retval) { - dev_err(port->dev, "atmel_startup - Can't get irq\n"); - return retval; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-027-serial-samsung-fix-maxburst-parameter-for-DMA-.patch b/patches.kernel.org/4.17.2-027-serial-samsung-fix-maxburst-parameter-for-DMA-.patch deleted file mode 100644 index 5721fb0..0000000 --- a/patches.kernel.org/4.17.2-027-serial-samsung-fix-maxburst-parameter-for-DMA-.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Marek Szyprowski -Date: Thu, 10 May 2018 08:41:13 +0200 -Subject: [PATCH] serial: samsung: fix maxburst parameter for DMA transactions -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: aa2f80e752c75e593b3820f42c416ed9458fa73e - -commit aa2f80e752c75e593b3820f42c416ed9458fa73e upstream. - -The best granularity of residue that DMA engine can report is in the BURST -units, so the serial driver must use MAXBURST = 1 and DMA_SLAVE_BUSWIDTH_1_BYTE -if it relies on exact number of bytes transferred by DMA engine. - -Fixes: 62c37eedb74c ("serial: samsung: add dma reqest/release functions") -Signed-off-by: Marek Szyprowski -Acked-by: Krzysztof Kozlowski -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/tty/serial/samsung.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c -index 3f2f8c118ce0..64e96926f1ad 100644 ---- a/drivers/tty/serial/samsung.c -+++ b/drivers/tty/serial/samsung.c -@@ -862,15 +862,12 @@ static int s3c24xx_serial_request_dma(struct s3c24xx_uart_port *p) - dma->rx_conf.direction = DMA_DEV_TO_MEM; - dma->rx_conf.src_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE; - dma->rx_conf.src_addr = p->port.mapbase + S3C2410_URXH; -- dma->rx_conf.src_maxburst = 16; -+ dma->rx_conf.src_maxburst = 1; - - dma->tx_conf.direction = DMA_MEM_TO_DEV; - dma->tx_conf.dst_addr_width = DMA_SLAVE_BUSWIDTH_1_BYTE; - dma->tx_conf.dst_addr = p->port.mapbase + S3C2410_UTXH; -- if (dma_get_cache_alignment() >= 16) -- dma->tx_conf.dst_maxburst = 16; -- else -- dma->tx_conf.dst_maxburst = 1; -+ dma->tx_conf.dst_maxburst = 1; - - dma->rx_chan = dma_request_chan(p->port.dev, "rx"); - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-028-serial-8250-omap-Fix-idling-of-clocks-for-unus.patch b/patches.kernel.org/4.17.2-028-serial-8250-omap-Fix-idling-of-clocks-for-unus.patch deleted file mode 100644 index 92e8c26..0000000 --- a/patches.kernel.org/4.17.2-028-serial-8250-omap-Fix-idling-of-clocks-for-unus.patch +++ /dev/null @@ -1,97 +0,0 @@ -From: Tony Lindgren -Date: Fri, 4 May 2018 10:44:09 -0700 -Subject: [PATCH] serial: 8250: omap: Fix idling of clocks for unused uarts -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 13dc04d0e5fdc25c8f713ad23fdce51cf2bf96ba - -commit 13dc04d0e5fdc25c8f713ad23fdce51cf2bf96ba upstream. - -I noticed that unused UARTs won't necessarily idle properly always -unless at least one byte tx transfer is done first. - -After some debugging I narrowed down the problem to the scr register -dma configuration bits that need to be set before softreset for the -clocks to idle. Unless we do this, the module clkctrl idlest bits -may be set to 1 instead of 3 meaning the clock will never idle and -is blocking deeper idle states for the whole domain. - -This might be related to the configuration done by the bootloader -or kexec booting where certain configurations cause the 8250 or -the clkctrl clock to jam in a way where setting of the scr bits -and reset is needed to clear it. I've tried diffing the 8250 -registers for the various modes, but did not see anything specific. -So far I've only seen this on omap4 but I'm suspecting this might -also happen on the other clkctrl using SoCs considering they -already have a quirk enabled for UART_ERRATA_CLOCK_DISABLE. - -Let's fix the issue by configuring scr before reset for basic dma -even if we don't use it. The scr register will be reset when we do -softreset few lines after, and we restore scr on resume. We should -do this for all the SoCs with UART_ERRATA_CLOCK_DISABLE quirk flag -set since the ones with UART_ERRATA_CLOCK_DISABLE are all based -using clkctrl similar to omap4. - -Looks like both OMAP_UART_SCR_DMAMODE_1 | OMAP_UART_SCR_DMAMODE_CTL -bits are needed for the clkctrl to idle after a softreset. - -And we need to add omap4 to also use the UART_ERRATA_CLOCK_DISABLE -for the related workaround to be enabled. This same compatible -value will also be used for omap5. - -Fixes: cdb929e4452a ("serial: 8250_omap: workaround errata around idling UART after using DMA") -Cc: Keerthy -Cc: Matthijs van Duin -Cc: Sekhar Nori -Cc: Tero Kristo -Signed-off-by: Tony Lindgren -Cc: stable -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/tty/serial/8250/8250_omap.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c -index 624b501fd253..93de20e87abe 100644 ---- a/drivers/tty/serial/8250/8250_omap.c -+++ b/drivers/tty/serial/8250/8250_omap.c -@@ -1110,13 +1110,14 @@ static int omap8250_no_handle_irq(struct uart_port *port) - return 0; - } - -+static const u8 omap4_habit = UART_ERRATA_CLOCK_DISABLE; - static const u8 am3352_habit = OMAP_DMA_TX_KICK | UART_ERRATA_CLOCK_DISABLE; - static const u8 dra742_habit = UART_ERRATA_CLOCK_DISABLE; - - static const struct of_device_id omap8250_dt_ids[] = { - { .compatible = "ti,omap2-uart" }, - { .compatible = "ti,omap3-uart" }, -- { .compatible = "ti,omap4-uart" }, -+ { .compatible = "ti,omap4-uart", .data = &omap4_habit, }, - { .compatible = "ti,am3352-uart", .data = &am3352_habit, }, - { .compatible = "ti,am4372-uart", .data = &am3352_habit, }, - { .compatible = "ti,dra742-uart", .data = &dra742_habit, }, -@@ -1353,6 +1354,19 @@ static int omap8250_soft_reset(struct device *dev) - int sysc; - int syss; - -+ /* -+ * At least on omap4, unused uarts may not idle after reset without -+ * a basic scr dma configuration even with no dma in use. The -+ * module clkctrl status bits will be 1 instead of 3 blocking idle -+ * for the whole clockdomain. The softreset below will clear scr, -+ * and we restore it on resume so this is safe to do on all SoCs -+ * needing omap8250_soft_reset() quirk. Do it in two writes as -+ * recommended in the comment for omap8250_update_scr(). -+ */ -+ serial_out(up, UART_OMAP_SCR, OMAP_UART_SCR_DMAMODE_1); -+ serial_out(up, UART_OMAP_SCR, -+ OMAP_UART_SCR_DMAMODE_1 | OMAP_UART_SCR_DMAMODE_CTL); -+ - sysc = serial_in(up, UART_OMAP_SYSC); - - /* softreset the UART */ --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-029-vmw_balloon-fixing-double-free-when-batching-m.patch b/patches.kernel.org/4.17.2-029-vmw_balloon-fixing-double-free-when-batching-m.patch deleted file mode 100644 index f742996..0000000 --- a/patches.kernel.org/4.17.2-029-vmw_balloon-fixing-double-free-when-batching-m.patch +++ /dev/null @@ -1,119 +0,0 @@ -From: Gil Kupfer -Date: Fri, 1 Jun 2018 00:47:47 -0700 -Subject: [PATCH] vmw_balloon: fixing double free when batching mode is off -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: b23220fe054e92f616b82450fae8cd3ab176cc60 - -commit b23220fe054e92f616b82450fae8cd3ab176cc60 upstream. - -The balloon.page field is used for two different purposes if batching is -on or off. If batching is on, the field point to the page which is used -to communicate with with the hypervisor. If it is off, balloon.page -points to the page that is about to be (un)locked. - -Unfortunately, this dual-purpose of the field introduced a bug: when the -balloon is popped (e.g., when the machine is reset or the balloon driver -is explicitly removed), the balloon driver frees, unconditionally, the -page that is held in balloon.page. As a result, if batching is -disabled, this leads to double freeing the last page that is sent to the -hypervisor. - -The following error occurs during rmmod when kernel checkers are on, and -the balloon is not empty: - -[ 42.307653] ------------[ cut here ]------------ -[ 42.307657] Kernel BUG at ffffffffba1e4b28 [verbose debug info unavailable] -[ 42.307720] invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC -[ 42.312512] Modules linked in: vmw_vsock_vmci_transport vsock ppdev joydev vmw_balloon(-) input_leds serio_raw vmw_vmci parport_pc shpchp parport i2c_piix4 nfit mac_hid autofs4 vmwgfx drm_kms_helper hid_generic syscopyarea sysfillrect usbhid sysimgblt fb_sys_fops hid ttm mptspi scsi_transport_spi ahci mptscsih drm psmouse vmxnet3 libahci mptbase pata_acpi -[ 42.312766] CPU: 10 PID: 1527 Comm: rmmod Not tainted 4.12.0+ #5 -[ 42.312803] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 09/30/2016 -[ 42.313042] task: ffff9bf9680f8000 task.stack: ffffbfefc1638000 -[ 42.313290] RIP: 0010:__free_pages+0x38/0x40 -[ 42.313510] RSP: 0018:ffffbfefc163be98 EFLAGS: 00010246 -[ 42.313731] RAX: 000000000000003e RBX: ffffffffc02b9720 RCX: 0000000000000006 -[ 42.313972] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff9bf97e08e0a0 -[ 42.314201] RBP: ffffbfefc163be98 R08: 0000000000000000 R09: 0000000000000000 -[ 42.314435] R10: 0000000000000000 R11: 0000000000000000 R12: ffffffffc02b97e4 -[ 42.314505] R13: ffffffffc02b9748 R14: ffffffffc02b9728 R15: 0000000000000200 -[ 42.314550] FS: 00007f3af5fec700(0000) GS:ffff9bf97e080000(0000) knlGS:0000000000000000 -[ 42.314599] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -[ 42.314635] CR2: 00007f44f6f4ab24 CR3: 00000003a7d12000 CR4: 00000000000006e0 -[ 42.314864] Call Trace: -[ 42.315774] vmballoon_pop+0x102/0x130 [vmw_balloon] -[ 42.315816] vmballoon_exit+0x42/0xd64 [vmw_balloon] -[ 42.315853] SyS_delete_module+0x1e2/0x250 -[ 42.315891] entry_SYSCALL_64_fastpath+0x23/0xc2 -[ 42.315924] RIP: 0033:0x7f3af5b0e8e7 -[ 42.315949] RSP: 002b:00007fffe6ce0148 EFLAGS: 00000206 ORIG_RAX: 00000000000000b0 -[ 42.315996] RAX: ffffffffffffffda RBX: 000055be676401e0 RCX: 00007f3af5b0e8e7 -[ 42.316951] RDX: 000000000000000a RSI: 0000000000000800 RDI: 000055be67640248 -[ 42.317887] RBP: 0000000000000003 R08: 0000000000000000 R09: 1999999999999999 -[ 42.318845] R10: 0000000000000883 R11: 0000000000000206 R12: 00007fffe6cdf130 -[ 42.319755] R13: 0000000000000000 R14: 0000000000000000 R15: 000055be676401e0 -[ 42.320606] Code: c0 74 1c f0 ff 4f 1c 74 02 5d c3 85 f6 74 07 e8 0f d8 ff ff 5d c3 31 f6 e8 c6 fb ff ff 5d c3 48 c7 c6 c8 0f c5 ba e8 58 be 02 00 <0f> 0b 66 0f 1f 44 00 00 66 66 66 66 90 48 85 ff 75 01 c3 55 48 -[ 42.323462] RIP: __free_pages+0x38/0x40 RSP: ffffbfefc163be98 -[ 42.325735] ---[ end trace 872e008e33f81508 ]--- - -To solve the bug, we eliminate the dual purpose of balloon.page. - -Fixes: f220a80f0c2e ("VMware balloon: add batching to the vmw_balloon.") -Cc: stable@vger.kernel.org -Reported-by: Oleksandr Natalenko -Signed-off-by: Gil Kupfer -Signed-off-by: Nadav Amit -Reviewed-by: Xavier Deguillard -Tested-by: Oleksandr Natalenko -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/misc/vmw_balloon.c | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c -index 9047c0a529b2..efd733472a35 100644 ---- a/drivers/misc/vmw_balloon.c -+++ b/drivers/misc/vmw_balloon.c -@@ -576,15 +576,9 @@ static void vmballoon_pop(struct vmballoon *b) - } - } - -- if (b->batch_page) { -- vunmap(b->batch_page); -- b->batch_page = NULL; -- } -- -- if (b->page) { -- __free_page(b->page); -- b->page = NULL; -- } -+ /* Clearing the batch_page unconditionally has no adverse effect */ -+ free_page((unsigned long)b->batch_page); -+ b->batch_page = NULL; - } - - /* -@@ -991,16 +985,13 @@ static const struct vmballoon_ops vmballoon_batched_ops = { - - static bool vmballoon_init_batching(struct vmballoon *b) - { -- b->page = alloc_page(VMW_PAGE_ALLOC_NOSLEEP); -- if (!b->page) -- return false; -+ struct page *page; - -- b->batch_page = vmap(&b->page, 1, VM_MAP, PAGE_KERNEL); -- if (!b->batch_page) { -- __free_page(b->page); -+ page = alloc_page(GFP_KERNEL | __GFP_ZERO); -+ if (!page) - return false; -- } - -+ b->batch_page = page_address(page); - return true; - } - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-030-doc-fix-sysfs-ABI-documentation.patch b/patches.kernel.org/4.17.2-030-doc-fix-sysfs-ABI-documentation.patch deleted file mode 100644 index caf6e65..0000000 --- a/patches.kernel.org/4.17.2-030-doc-fix-sysfs-ABI-documentation.patch +++ /dev/null @@ -1,193 +0,0 @@ -From: Stephen Hemminger -Date: Sat, 12 May 2018 01:45:29 -0700 -Subject: [PATCH] doc: fix sysfs ABI documentation -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: f59acbc5e0f7f90452efd4c3318d5e5ec042c3e0 - -commit f59acbc5e0f7f90452efd4c3318d5e5ec042c3e0 upstream. - -In 4.9 kernel, the sysfs files for Hyper-V VMBus changed name but -the documentation files were not updated. The current sysfs file -names are /sys/bus/vmbus/devices//... - -See commit 9a56e5d6a0ba ("Drivers: hv: make VMBus bus ids persistent") -and commit f6b2db084b65 ("vmbus: make sysfs names consistent with PCI") - -Reported-by: Michael Kelley -Signed-off-by: Stephen Hemminger -Cc: stable@vger.kernel.org -Signed-off-by: K. Y. Srinivasan -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - Documentation/ABI/stable/sysfs-bus-vmbus | 40 ++++++++++++------------ - 1 file changed, 20 insertions(+), 20 deletions(-) - -diff --git a/Documentation/ABI/stable/sysfs-bus-vmbus b/Documentation/ABI/stable/sysfs-bus-vmbus -index 0c9d9dcd2151..3eaffbb2d468 100644 ---- a/Documentation/ABI/stable/sysfs-bus-vmbus -+++ b/Documentation/ABI/stable/sysfs-bus-vmbus -@@ -1,25 +1,25 @@ --What: /sys/bus/vmbus/devices/vmbus_*/id -+What: /sys/bus/vmbus/devices//id - Date: Jul 2009 - KernelVersion: 2.6.31 - Contact: K. Y. Srinivasan - Description: The VMBus child_relid of the device's primary channel - Users: tools/hv/lsvmbus - --What: /sys/bus/vmbus/devices/vmbus_*/class_id -+What: /sys/bus/vmbus/devices//class_id - Date: Jul 2009 - KernelVersion: 2.6.31 - Contact: K. Y. Srinivasan - Description: The VMBus interface type GUID of the device - Users: tools/hv/lsvmbus - --What: /sys/bus/vmbus/devices/vmbus_*/device_id -+What: /sys/bus/vmbus/devices//device_id - Date: Jul 2009 - KernelVersion: 2.6.31 - Contact: K. Y. Srinivasan - Description: The VMBus interface instance GUID of the device - Users: tools/hv/lsvmbus - --What: /sys/bus/vmbus/devices/vmbus_*/channel_vp_mapping -+What: /sys/bus/vmbus/devices//channel_vp_mapping - Date: Jul 2015 - KernelVersion: 4.2.0 - Contact: K. Y. Srinivasan -@@ -28,112 +28,112 @@ Description: The mapping of which primary/sub channels are bound to which - Format: - Users: tools/hv/lsvmbus - --What: /sys/bus/vmbus/devices/vmbus_*/device -+What: /sys/bus/vmbus/devices//device - Date: Dec. 2015 - KernelVersion: 4.5 - Contact: K. Y. Srinivasan - Description: The 16 bit device ID of the device - Users: tools/hv/lsvmbus and user level RDMA libraries - --What: /sys/bus/vmbus/devices/vmbus_*/vendor -+What: /sys/bus/vmbus/devices//vendor - Date: Dec. 2015 - KernelVersion: 4.5 - Contact: K. Y. Srinivasan - Description: The 16 bit vendor ID of the device - Users: tools/hv/lsvmbus and user level RDMA libraries - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN -+What: /sys/bus/vmbus/devices//channels/ - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Directory for per-channel information - NN is the VMBUS relid associtated with the channel. - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/cpu -+What: /sys/bus/vmbus/devices//channels//cpu - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: VCPU (sub)channel is affinitized to - Users: tools/hv/lsvmbus and other debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/cpu -+What: /sys/bus/vmbus/devices//channels//cpu - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: VCPU (sub)channel is affinitized to - Users: tools/hv/lsvmbus and other debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/in_mask -+What: /sys/bus/vmbus/devices//channels//in_mask - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Host to guest channel interrupt mask - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/latency -+What: /sys/bus/vmbus/devices//channels//latency - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Channel signaling latency - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/out_mask -+What: /sys/bus/vmbus/devices//channels//out_mask - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Guest to host channel interrupt mask - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/pending -+What: /sys/bus/vmbus/devices//channels//pending - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Channel interrupt pending state - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/read_avail -+What: /sys/bus/vmbus/devices//channels//read_avail - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Bytes available to read - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/write_avail -+What: /sys/bus/vmbus/devices//channels//write_avail - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Bytes available to write - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/events -+What: /sys/bus/vmbus/devices//channels//events - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Number of times we have signaled the host - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/interrupts -+What: /sys/bus/vmbus/devices//channels//interrupts - Date: September. 2017 - KernelVersion: 4.14 - Contact: Stephen Hemminger - Description: Number of times we have taken an interrupt (incoming) - Users: Debugging tools - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/subchannel_id -+What: /sys/bus/vmbus/devices//channels//subchannel_id - Date: January. 2018 - KernelVersion: 4.16 - Contact: Stephen Hemminger - Description: Subchannel ID associated with VMBUS channel - Users: Debugging tools and userspace drivers - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/monitor_id -+What: /sys/bus/vmbus/devices//channels//monitor_id - Date: January. 2018 - KernelVersion: 4.16 - Contact: Stephen Hemminger - Description: Monitor bit associated with channel - Users: Debugging tools and userspace drivers - --What: /sys/bus/vmbus/devices/vmbus_*/channels/NN/ring -+What: /sys/bus/vmbus/devices//channels//ring - Date: January. 2018 - KernelVersion: 4.16 - Contact: Stephen Hemminger --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-031-arm64-defconfig-Enable-CONFIG_PINCTRL_MT7622-b.patch b/patches.kernel.org/4.17.2-031-arm64-defconfig-Enable-CONFIG_PINCTRL_MT7622-b.patch deleted file mode 100644 index 8907532..0000000 --- a/patches.kernel.org/4.17.2-031-arm64-defconfig-Enable-CONFIG_PINCTRL_MT7622-b.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Sean Wang -Date: Fri, 20 Apr 2018 16:58:05 +0800 -Subject: [PATCH] arm64: defconfig: Enable CONFIG_PINCTRL_MT7622 by default -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 1e31927aa64545ee97a2a41db9984c9931afc50a - -commit 1e31927aa64545ee97a2a41db9984c9931afc50a upstream. - -Recently kernelCI reported the board mt7622-rfb1 has a fail test with -kernel: ERROR: did not start booting whose details could be seen at [1]. - -The cause is that UART0 can't output anything when it's missing a proper -pin setup with current DTS, so the essential driver is always getting -enabled to fix up the issue. - -[1] https://kernelci.org/boot/id/5ad7d62759b51461bfb1f829/ - -Cc: Kevin Hilman -Cc: stable@vger.kernel.org -Fixes: ae457b7679c4 ("arm64: dts: mt7622: add SoC and peripheral related device nodes") -Signed-off-by: Sean Wang -Signed-off-by: Matthias Brugger -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - arch/arm64/configs/defconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig -index ecf613761e78..fe005df02ed3 100644 ---- a/arch/arm64/configs/defconfig -+++ b/arch/arm64/configs/defconfig -@@ -320,6 +320,7 @@ CONFIG_PINCTRL_MAX77620=y - CONFIG_PINCTRL_MSM8916=y - CONFIG_PINCTRL_MSM8994=y - CONFIG_PINCTRL_MSM8996=y -+CONFIG_PINCTRL_MT7622=y - CONFIG_PINCTRL_QDF2XXX=y - CONFIG_PINCTRL_QCOM_SPMI_PMIC=y - CONFIG_GPIO_DWAPB=y --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-032-tty-pl011-Avoid-spuriously-stuck-off-interrupt.patch b/patches.kernel.org/4.17.2-032-tty-pl011-Avoid-spuriously-stuck-off-interrupt.patch deleted file mode 100644 index 50cf87b..0000000 --- a/patches.kernel.org/4.17.2-032-tty-pl011-Avoid-spuriously-stuck-off-interrupt.patch +++ /dev/null @@ -1,108 +0,0 @@ -From: Dave Martin -Date: Thu, 10 May 2018 18:08:23 +0100 -Subject: [PATCH] tty: pl011: Avoid spuriously stuck-off interrupts -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 4a7e625ce50412a7711efa0f2ef0b96ce3826759 - -commit 4a7e625ce50412a7711efa0f2ef0b96ce3826759 upstream. - -Commit 9b96fbacda34 ("serial: PL011: clear pending interrupts") -clears the RX and receive timeout interrupts on pl011 startup, to -avoid a screaming-interrupt scenario that can occur when the -firmware or bootloader leaves these interrupts asserted. - -This has been noted as an issue when running Linux on qemu [1]. - -Unfortunately, the above fix seems to lead to potential -misbehaviour if the RX FIFO interrupt is asserted _non_ spuriously -on driver startup, if the RX FIFO is also already full to the -trigger level. - -Clearing the RX FIFO interrupt does not change the FIFO fill level. -In this scenario, because the interrupt is now clear and because -the FIFO is already full to the trigger level, no new assertion of -the RX FIFO interrupt can occur unless the FIFO is drained back -below the trigger level. This never occurs because the pl011 -driver is waiting for an RX FIFO interrupt to tell it that there is -something to read, and does not read the FIFO at all until that -interrupt occurs. - -Thus, simply clearing "spurious" interrupts on startup may be -misguided, since there is no way to be sure that the interrupts are -truly spurious, and things can go wrong if they are not. - -This patch instead clears the interrupt condition by draining the -RX FIFO during UART startup, after clearing any potentially -spurious interrupt. This should ensure that an interrupt will -definitely be asserted if the RX FIFO subsequently becomes -sufficiently full. - -The drain is done at the point of enabling interrupts only. This -means that it will occur any time the UART is newly opened through -the tty layer. It will not apply to polled-mode use of the UART by -kgdboc: since that scenario cannot use interrupts by design, this -should not matter. kgdboc will interact badly with "normal" use of -the UART in any case: this patch makes no attempt to paper over -such issues. - -This patch does not attempt to address the case where the RX FIFO -fills faster than it can be drained: that is a pathological -hardware design problem that is beyond the scope of the driver to -work around. As a failsafe, the number of poll iterations for -draining the FIFO is limited to twice the FIFO size. This will -ensure that the kernel at least boots even if it is impossible to -drain the FIFO for some reason. - -[1] [Qemu-devel] [Qemu-arm] [PATCH] pl011: do not put into fifo -before enabled the interruption -https://lists.gnu.org/archive/html/qemu-devel/2018-01/msg06446.html - -Reported-by: Wei Xu -Cc: Russell King -Cc: Linus Walleij -Cc: Peter Maydell -Fixes: 9b96fbacda34 ("serial: PL011: clear pending interrupts") -Signed-off-by: Dave Martin -Cc: stable -Tested-by: Wei Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/tty/serial/amba-pl011.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 4b40a5b449ee..ebd33c0232e6 100644 ---- a/drivers/tty/serial/amba-pl011.c -+++ b/drivers/tty/serial/amba-pl011.c -@@ -1727,10 +1727,26 @@ static int pl011_allocate_irq(struct uart_amba_port *uap) - */ - static void pl011_enable_interrupts(struct uart_amba_port *uap) - { -+ unsigned int i; -+ - spin_lock_irq(&uap->port.lock); - - /* Clear out any spuriously appearing RX interrupts */ - pl011_write(UART011_RTIS | UART011_RXIS, uap, REG_ICR); -+ -+ /* -+ * RXIS is asserted only when the RX FIFO transitions from below -+ * to above the trigger threshold. If the RX FIFO is already -+ * full to the threshold this can't happen and RXIS will now be -+ * stuck off. Drain the RX FIFO explicitly to fix this: -+ */ -+ for (i = 0; i < uap->fifosize * 2; ++i) { -+ if (pl011_read(uap, REG_FR) & UART01x_FR_RXFE) -+ break; -+ -+ pl011_read(uap, REG_DR); -+ } -+ - uap->im = UART011_RTIM; - if (!pl011_dma_rx_running(uap)) - uap->im |= UART011_RXIM; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-033-crypto-ccree-correct-host-regs-offset.patch b/patches.kernel.org/4.17.2-033-crypto-ccree-correct-host-regs-offset.patch deleted file mode 100644 index 8f56839..0000000 --- a/patches.kernel.org/4.17.2-033-crypto-ccree-correct-host-regs-offset.patch +++ /dev/null @@ -1,136 +0,0 @@ -From: Gilad Ben-Yossef -Date: Thu, 24 May 2018 15:19:06 +0100 -Subject: [PATCH] crypto: ccree - correct host regs offset -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 281a58c8326ca62ca6341f9d2cc2eb08044670e8 - -commit 281a58c8326ca62ca6341f9d2cc2eb08044670e8 upstream. - -The product signature and HW revision register have different offset on the -older HW revisions. -This fixes the problem of the driver failing sanity check on silicon -despite working on the FPGA emulation systems. - -Fixes: 27b3b22dd98c ("crypto: ccree - add support for older HW revs") -Cc: stable@vger.kernel.org -Signed-off-by: Gilad Ben-Yossef -Reviewed-by: Simon Horman -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/ccree/cc_debugfs.c | 7 +++++-- - drivers/crypto/ccree/cc_driver.c | 8 ++++++-- - drivers/crypto/ccree/cc_driver.h | 2 ++ - drivers/crypto/ccree/cc_host_regs.h | 6 ++++-- - 4 files changed, 17 insertions(+), 6 deletions(-) - -diff --git a/drivers/crypto/ccree/cc_debugfs.c b/drivers/crypto/ccree/cc_debugfs.c -index 08f8db489cf0..5ca184e42483 100644 ---- a/drivers/crypto/ccree/cc_debugfs.c -+++ b/drivers/crypto/ccree/cc_debugfs.c -@@ -26,7 +26,8 @@ struct cc_debugfs_ctx { - static struct dentry *cc_debugfs_dir; - - static struct debugfs_reg32 debug_regs[] = { -- CC_DEBUG_REG(HOST_SIGNATURE), -+ { .name = "SIGNATURE" }, /* Must be 0th */ -+ { .name = "VERSION" }, /* Must be 1st */ - CC_DEBUG_REG(HOST_IRR), - CC_DEBUG_REG(HOST_POWER_DOWN_EN), - CC_DEBUG_REG(AXIM_MON_ERR), -@@ -34,7 +35,6 @@ static struct debugfs_reg32 debug_regs[] = { - CC_DEBUG_REG(HOST_IMR), - CC_DEBUG_REG(AXIM_CFG), - CC_DEBUG_REG(AXIM_CACHE_PARAMS), -- CC_DEBUG_REG(HOST_VERSION), - CC_DEBUG_REG(GPR_HOST), - CC_DEBUG_REG(AXIM_MON_COMP), - }; -@@ -58,6 +58,9 @@ int cc_debugfs_init(struct cc_drvdata *drvdata) - struct debugfs_regset32 *regset; - struct dentry *file; - -+ debug_regs[0].offset = drvdata->sig_offset; -+ debug_regs[1].offset = drvdata->ver_offset; -+ - ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); - if (!ctx) - return -ENOMEM; -diff --git a/drivers/crypto/ccree/cc_driver.c b/drivers/crypto/ccree/cc_driver.c -index 89ce013ae093..6f93ce7701ec 100644 ---- a/drivers/crypto/ccree/cc_driver.c -+++ b/drivers/crypto/ccree/cc_driver.c -@@ -207,9 +207,13 @@ static int init_cc_resources(struct platform_device *plat_dev) - if (hw_rev->rev >= CC_HW_REV_712) { - new_drvdata->hash_len_sz = HASH_LEN_SIZE_712; - new_drvdata->axim_mon_offset = CC_REG(AXIM_MON_COMP); -+ new_drvdata->sig_offset = CC_REG(HOST_SIGNATURE_712); -+ new_drvdata->ver_offset = CC_REG(HOST_VERSION_712); - } else { - new_drvdata->hash_len_sz = HASH_LEN_SIZE_630; - new_drvdata->axim_mon_offset = CC_REG(AXIM_MON_COMP8); -+ new_drvdata->sig_offset = CC_REG(HOST_SIGNATURE_630); -+ new_drvdata->ver_offset = CC_REG(HOST_VERSION_630); - } - - platform_set_drvdata(plat_dev, new_drvdata); -@@ -276,7 +280,7 @@ static int init_cc_resources(struct platform_device *plat_dev) - } - - /* Verify correct mapping */ -- signature_val = cc_ioread(new_drvdata, CC_REG(HOST_SIGNATURE)); -+ signature_val = cc_ioread(new_drvdata, new_drvdata->sig_offset); - if (signature_val != hw_rev->sig) { - dev_err(dev, "Invalid CC signature: SIGNATURE=0x%08X != expected=0x%08X\n", - signature_val, hw_rev->sig); -@@ -287,7 +291,7 @@ static int init_cc_resources(struct platform_device *plat_dev) - - /* Display HW versions */ - dev_info(dev, "ARM CryptoCell %s Driver: HW version 0x%08X, Driver version %s\n", -- hw_rev->name, cc_ioread(new_drvdata, CC_REG(HOST_VERSION)), -+ hw_rev->name, cc_ioread(new_drvdata, new_drvdata->ver_offset), - DRV_MODULE_VERSION); - - rc = init_cc_regs(new_drvdata, true); -diff --git a/drivers/crypto/ccree/cc_driver.h b/drivers/crypto/ccree/cc_driver.h -index 2048fdeb9579..95f82b2d1e70 100644 ---- a/drivers/crypto/ccree/cc_driver.h -+++ b/drivers/crypto/ccree/cc_driver.h -@@ -129,6 +129,8 @@ struct cc_drvdata { - enum cc_hw_rev hw_rev; - u32 hash_len_sz; - u32 axim_mon_offset; -+ u32 sig_offset; -+ u32 ver_offset; - }; - - struct cc_crypto_alg { -diff --git a/drivers/crypto/ccree/cc_host_regs.h b/drivers/crypto/ccree/cc_host_regs.h -index f51001898ca1..616b2e1c41ba 100644 ---- a/drivers/crypto/ccree/cc_host_regs.h -+++ b/drivers/crypto/ccree/cc_host_regs.h -@@ -45,7 +45,8 @@ - #define CC_HOST_ICR_DSCRPTR_WATERMARK_QUEUE0_CLEAR_BIT_SIZE 0x1UL - #define CC_HOST_ICR_AXIM_COMP_INT_CLEAR_BIT_SHIFT 0x17UL - #define CC_HOST_ICR_AXIM_COMP_INT_CLEAR_BIT_SIZE 0x1UL --#define CC_HOST_SIGNATURE_REG_OFFSET 0xA24UL -+#define CC_HOST_SIGNATURE_712_REG_OFFSET 0xA24UL -+#define CC_HOST_SIGNATURE_630_REG_OFFSET 0xAC8UL - #define CC_HOST_SIGNATURE_VALUE_BIT_SHIFT 0x0UL - #define CC_HOST_SIGNATURE_VALUE_BIT_SIZE 0x20UL - #define CC_HOST_BOOT_REG_OFFSET 0xA28UL -@@ -105,7 +106,8 @@ - #define CC_HOST_BOOT_ONLY_ENCRYPT_LOCAL_BIT_SIZE 0x1UL - #define CC_HOST_BOOT_AES_EXISTS_LOCAL_BIT_SHIFT 0x1EUL - #define CC_HOST_BOOT_AES_EXISTS_LOCAL_BIT_SIZE 0x1UL --#define CC_HOST_VERSION_REG_OFFSET 0xA40UL -+#define CC_HOST_VERSION_712_REG_OFFSET 0xA40UL -+#define CC_HOST_VERSION_630_REG_OFFSET 0xAD8UL - #define CC_HOST_VERSION_VALUE_BIT_SHIFT 0x0UL - #define CC_HOST_VERSION_VALUE_BIT_SIZE 0x20UL - #define CC_HOST_KFDE0_VALID_REG_OFFSET 0xA60UL --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-034-Input-goodix-add-new-ACPI-id-for-GPD-Win-2-tou.patch b/patches.kernel.org/4.17.2-034-Input-goodix-add-new-ACPI-id-for-GPD-Win-2-tou.patch deleted file mode 100644 index feb1567..0000000 --- a/patches.kernel.org/4.17.2-034-Input-goodix-add-new-ACPI-id-for-GPD-Win-2-tou.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Ethan Lee -Date: Thu, 31 May 2018 16:13:17 -0700 -Subject: [PATCH] Input: goodix - add new ACPI id for GPD Win 2 touch screen -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 5ca4d1ae9bad0f59bd6f851c39b19f5366953666 - -commit 5ca4d1ae9bad0f59bd6f851c39b19f5366953666 upstream. - -GPD Win 2 Website: http://www.gpd.hk/gpdwin2.asp - -Tested on a unit from the first production run sent to Indiegogo backers - -Signed-off-by: Ethan Lee -Cc: stable@vger.kernel.org -Signed-off-by: Dmitry Torokhov -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/input/touchscreen/goodix.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c -index 9736c83dd418..f2d9c2c41885 100644 ---- a/drivers/input/touchscreen/goodix.c -+++ b/drivers/input/touchscreen/goodix.c -@@ -933,6 +933,7 @@ MODULE_DEVICE_TABLE(i2c, goodix_ts_id); - #ifdef CONFIG_ACPI - static const struct acpi_device_id goodix_acpi_match[] = { - { "GDIX1001", 0 }, -+ { "GDIX1002", 0 }, - { } - }; - MODULE_DEVICE_TABLE(acpi, goodix_acpi_match); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-035-Input-elan_i2c-add-ELAN0612-Lenovo-v330-14IKB-.patch b/patches.kernel.org/4.17.2-035-Input-elan_i2c-add-ELAN0612-Lenovo-v330-14IKB-.patch deleted file mode 100644 index f6576e6..0000000 --- a/patches.kernel.org/4.17.2-035-Input-elan_i2c-add-ELAN0612-Lenovo-v330-14IKB-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Johannes Wienke -Date: Mon, 4 Jun 2018 13:37:26 -0700 -Subject: [PATCH] Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: e6e7e9cd8eed0e18217c899843bffbe8c7dae564 - -commit e6e7e9cd8eed0e18217c899843bffbe8c7dae564 upstream. - -Add ELAN0612 to the list of supported touchpads; this ID is used in Lenovo -v330 14IKB devices. - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199253 -Signed-off-by: Johannes Wienke -Cc: stable@vger.kernel.org -Signed-off-by: Dmitry Torokhov -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/input/mouse/elan_i2c_core.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c -index 75e757520ef0..93967c8139e7 100644 ---- a/drivers/input/mouse/elan_i2c_core.c -+++ b/drivers/input/mouse/elan_i2c_core.c -@@ -1262,6 +1262,7 @@ static const struct acpi_device_id elan_acpi_id[] = { - { "ELAN060B", 0 }, - { "ELAN060C", 0 }, - { "ELAN0611", 0 }, -+ { "ELAN0612", 0 }, - { "ELAN1000", 0 }, - { } - }; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-036-crypto-caam-strip-input-zeros-from-RSA-input-b.patch b/patches.kernel.org/4.17.2-036-crypto-caam-strip-input-zeros-from-RSA-input-b.patch deleted file mode 100644 index f205f40..0000000 --- a/patches.kernel.org/4.17.2-036-crypto-caam-strip-input-zeros-from-RSA-input-b.patch +++ /dev/null @@ -1,145 +0,0 @@ -From: =?UTF-8?q?Horia=20Geant=C4=83?= -Date: Mon, 16 Apr 2018 08:07:05 -0500 -Subject: [PATCH] crypto: caam - strip input zeros from RSA input buffer -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 8a2a0dd35f2e54c023d9041a5428b6c5639af86c - -commit 8a2a0dd35f2e54c023d9041a5428b6c5639af86c upstream. - -Sometimes the provided RSA input buffer provided is not stripped -of leading zeros. This could cause its size to be bigger than that -of the modulus, making the HW complain: - -caam_jr 2142000.jr1: 40000789: DECO: desc idx 7: -Protocol Size Error - A protocol has seen an error in size. When -running RSA, pdb size N < (size of F) when no formatting is used; or -pdb size N < (F + 11) when formatting is used. - -Fix the problem by stripping off the leading zero from input data -before feeding it to the CAAM accelerator. - -Fixes: 8c419778ab57e ("crypto: caam - add support for RSA algorithm") -Cc: # 4.8+ -Reported-by: Martin Townsend -Link: https://lkml.kernel.org/r/CABatt_ytYORYKtApcB4izhNanEKkGFi9XAQMjHi_n-8YWoCRiw@mail.gmail.com -Signed-off-by: Horia Geantă -Tested-by: Fabio Estevam -Reviewed-by: Tudor Ambarus -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/caam/caampkc.c | 54 +++++++++++++++++++++++++++++++++++ - drivers/crypto/caam/caampkc.h | 8 ++++++ - 2 files changed, 62 insertions(+) - -diff --git a/drivers/crypto/caam/caampkc.c b/drivers/crypto/caam/caampkc.c -index 7a897209f181..979072b25eaa 100644 ---- a/drivers/crypto/caam/caampkc.c -+++ b/drivers/crypto/caam/caampkc.c -@@ -166,18 +166,71 @@ static void rsa_priv_f3_done(struct device *dev, u32 *desc, u32 err, - akcipher_request_complete(req, err); - } - -+static int caam_rsa_count_leading_zeros(struct scatterlist *sgl, -+ unsigned int nbytes, -+ unsigned int flags) -+{ -+ struct sg_mapping_iter miter; -+ int lzeros, ents; -+ unsigned int len; -+ unsigned int tbytes = nbytes; -+ const u8 *buff; -+ -+ ents = sg_nents_for_len(sgl, nbytes); -+ if (ents < 0) -+ return ents; -+ -+ sg_miter_start(&miter, sgl, ents, SG_MITER_FROM_SG | flags); -+ -+ lzeros = 0; -+ len = 0; -+ while (nbytes > 0) { -+ while (len && !*buff) { -+ lzeros++; -+ len--; -+ buff++; -+ } -+ -+ if (len && *buff) -+ break; -+ -+ sg_miter_next(&miter); -+ buff = miter.addr; -+ len = miter.length; -+ -+ nbytes -= lzeros; -+ lzeros = 0; -+ } -+ -+ miter.consumed = lzeros; -+ sg_miter_stop(&miter); -+ nbytes -= lzeros; -+ -+ return tbytes - nbytes; -+} -+ - static struct rsa_edesc *rsa_edesc_alloc(struct akcipher_request *req, - size_t desclen) - { - struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req); - struct caam_rsa_ctx *ctx = akcipher_tfm_ctx(tfm); - struct device *dev = ctx->dev; -+ struct caam_rsa_req_ctx *req_ctx = akcipher_request_ctx(req); - struct rsa_edesc *edesc; - gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? - GFP_KERNEL : GFP_ATOMIC; -+ int sg_flags = (flags == GFP_ATOMIC) ? SG_MITER_ATOMIC : 0; - int sgc; - int sec4_sg_index, sec4_sg_len = 0, sec4_sg_bytes; - int src_nents, dst_nents; -+ int lzeros; -+ -+ lzeros = caam_rsa_count_leading_zeros(req->src, req->src_len, sg_flags); -+ if (lzeros < 0) -+ return ERR_PTR(lzeros); -+ -+ req->src_len -= lzeros; -+ req->src = scatterwalk_ffwd(req_ctx->src, req->src, lzeros); - - src_nents = sg_nents_for_len(req->src, req->src_len); - dst_nents = sg_nents_for_len(req->dst, req->dst_len); -@@ -953,6 +1006,7 @@ static struct akcipher_alg caam_rsa = { - .max_size = caam_rsa_max_size, - .init = caam_rsa_init_tfm, - .exit = caam_rsa_exit_tfm, -+ .reqsize = sizeof(struct caam_rsa_req_ctx), - .base = { - .cra_name = "rsa", - .cra_driver_name = "rsa-caam", -diff --git a/drivers/crypto/caam/caampkc.h b/drivers/crypto/caam/caampkc.h -index fd145c46eae1..82645bcf8b27 100644 ---- a/drivers/crypto/caam/caampkc.h -+++ b/drivers/crypto/caam/caampkc.h -@@ -95,6 +95,14 @@ struct caam_rsa_ctx { - struct device *dev; - }; - -+/** -+ * caam_rsa_req_ctx - per request context. -+ * @src: input scatterlist (stripped of leading zeros) -+ */ -+struct caam_rsa_req_ctx { -+ struct scatterlist src[2]; -+}; -+ - /** - * rsa_edesc - s/w-extended rsa descriptor - * @src_nents : number of segments in input scatterlist --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-037-crypto-caam-fix-DMA-mapping-dir-for-generated-.patch b/patches.kernel.org/4.17.2-037-crypto-caam-fix-DMA-mapping-dir-for-generated-.patch deleted file mode 100644 index 599a660..0000000 --- a/patches.kernel.org/4.17.2-037-crypto-caam-fix-DMA-mapping-dir-for-generated-.patch +++ /dev/null @@ -1,169 +0,0 @@ -From: =?UTF-8?q?Horia=20Geant=C4=83?= -Date: Wed, 28 Mar 2018 15:39:17 +0300 -Subject: [PATCH] crypto: caam - fix DMA mapping dir for generated IV -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: a38acd236cac914aafffd80af79b9556fc2c3934 - -commit a38acd236cac914aafffd80af79b9556fc2c3934 upstream. - -In case of GIVCIPHER, IV is generated by the device. -Fix the DMA mapping direction. - -Cc: # 3.19+ -Fixes: 7222d1a34103 ("crypto: caam - add support for givencrypt cbc(aes) and rfc3686(ctr(aes))") -Signed-off-by: Horia Geantă -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/caam/caamalg.c | 29 +++++++++++++++++------------ - 1 file changed, 17 insertions(+), 12 deletions(-) - -diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c -index 7207a535942d..3e18b9266027 100644 ---- a/drivers/crypto/caam/caamalg.c -+++ b/drivers/crypto/caam/caamalg.c -@@ -769,6 +769,7 @@ struct aead_edesc { - * @src_nents: number of segments in input s/w scatterlist - * @dst_nents: number of segments in output s/w scatterlist - * @iv_dma: dma address of iv for checking continuity and link table -+ * @iv_dir: DMA mapping direction for IV - * @sec4_sg_bytes: length of dma mapped sec4_sg space - * @sec4_sg_dma: bus physical mapped address of h/w link table - * @sec4_sg: pointer to h/w link table -@@ -778,6 +779,7 @@ struct ablkcipher_edesc { - int src_nents; - int dst_nents; - dma_addr_t iv_dma; -+ enum dma_data_direction iv_dir; - int sec4_sg_bytes; - dma_addr_t sec4_sg_dma; - struct sec4_sg_entry *sec4_sg; -@@ -787,7 +789,8 @@ struct ablkcipher_edesc { - static void caam_unmap(struct device *dev, struct scatterlist *src, - struct scatterlist *dst, int src_nents, - int dst_nents, -- dma_addr_t iv_dma, int ivsize, dma_addr_t sec4_sg_dma, -+ dma_addr_t iv_dma, int ivsize, -+ enum dma_data_direction iv_dir, dma_addr_t sec4_sg_dma, - int sec4_sg_bytes) - { - if (dst != src) { -@@ -799,7 +802,7 @@ static void caam_unmap(struct device *dev, struct scatterlist *src, - } - - if (iv_dma) -- dma_unmap_single(dev, iv_dma, ivsize, DMA_TO_DEVICE); -+ dma_unmap_single(dev, iv_dma, ivsize, iv_dir); - if (sec4_sg_bytes) - dma_unmap_single(dev, sec4_sg_dma, sec4_sg_bytes, - DMA_TO_DEVICE); -@@ -810,7 +813,7 @@ static void aead_unmap(struct device *dev, - struct aead_request *req) - { - caam_unmap(dev, req->src, req->dst, -- edesc->src_nents, edesc->dst_nents, 0, 0, -+ edesc->src_nents, edesc->dst_nents, 0, 0, DMA_NONE, - edesc->sec4_sg_dma, edesc->sec4_sg_bytes); - } - -@@ -823,7 +826,7 @@ static void ablkcipher_unmap(struct device *dev, - - caam_unmap(dev, req->src, req->dst, - edesc->src_nents, edesc->dst_nents, -- edesc->iv_dma, ivsize, -+ edesc->iv_dma, ivsize, edesc->iv_dir, - edesc->sec4_sg_dma, edesc->sec4_sg_bytes); - } - -@@ -1287,7 +1290,7 @@ static struct aead_edesc *aead_edesc_alloc(struct aead_request *req, - GFP_DMA | flags); - if (!edesc) { - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, 0, 0); -+ 0, DMA_NONE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1550,7 +1553,7 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - if (dma_mapping_error(jrdev, iv_dma)) { - dev_err(jrdev, "unable to map IV\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, 0, 0); -+ 0, DMA_NONE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1572,7 +1575,7 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - if (!edesc) { - dev_err(jrdev, "could not allocate extended descriptor\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, 0, 0); -+ iv_dma, ivsize, DMA_TO_DEVICE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1581,6 +1584,7 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - edesc->sec4_sg_bytes = sec4_sg_bytes; - edesc->sec4_sg = (void *)edesc + sizeof(struct ablkcipher_edesc) + - desc_bytes; -+ edesc->iv_dir = DMA_TO_DEVICE; - - if (!in_contig) { - dma_to_sec4_sg_one(edesc->sec4_sg, iv_dma, ivsize, 0); -@@ -1598,7 +1602,7 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { - dev_err(jrdev, "unable to map S/G table\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, 0, 0); -+ iv_dma, ivsize, DMA_TO_DEVICE, 0, 0); - kfree(edesc); - return ERR_PTR(-ENOMEM); - } -@@ -1756,11 +1760,11 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - * Check if iv can be contiguous with source and destination. - * If so, include it. If not, create scatterlist. - */ -- iv_dma = dma_map_single(jrdev, greq->giv, ivsize, DMA_TO_DEVICE); -+ iv_dma = dma_map_single(jrdev, greq->giv, ivsize, DMA_FROM_DEVICE); - if (dma_mapping_error(jrdev, iv_dma)) { - dev_err(jrdev, "unable to map IV\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, 0, 0); -+ 0, DMA_NONE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1781,7 +1785,7 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - if (!edesc) { - dev_err(jrdev, "could not allocate extended descriptor\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, 0, 0); -+ iv_dma, ivsize, DMA_FROM_DEVICE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1790,6 +1794,7 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - edesc->sec4_sg_bytes = sec4_sg_bytes; - edesc->sec4_sg = (void *)edesc + sizeof(struct ablkcipher_edesc) + - desc_bytes; -+ edesc->iv_dir = DMA_FROM_DEVICE; - - if (mapped_src_nents > 1) - sg_to_sec4_sg_last(req->src, mapped_src_nents, edesc->sec4_sg, -@@ -1807,7 +1812,7 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { - dev_err(jrdev, "unable to map S/G table\n"); - caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, 0, 0); -+ iv_dma, ivsize, DMA_FROM_DEVICE, 0, 0); - kfree(edesc); - return ERR_PTR(-ENOMEM); - } --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-038-crypto-caam-fix-IV-DMA-mapping-and-updating.patch b/patches.kernel.org/4.17.2-038-crypto-caam-fix-IV-DMA-mapping-and-updating.patch deleted file mode 100644 index b571484..0000000 --- a/patches.kernel.org/4.17.2-038-crypto-caam-fix-IV-DMA-mapping-and-updating.patch +++ /dev/null @@ -1,469 +0,0 @@ -From: =?UTF-8?q?Horia=20Geant=C4=83?= -Date: Wed, 28 Mar 2018 15:39:18 +0300 -Subject: [PATCH] crypto: caam - fix IV DMA mapping and updating -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 115957bb3e59fcb226ce76b97af14533f239e0ac - -commit 115957bb3e59fcb226ce76b97af14533f239e0ac upstream. - -There are two IV-related issues: -(1) crypto API does not guarantee to provide an IV buffer that is DMAable, -thus it's incorrect to DMA map it -(2) for in-place decryption, since ciphertext is overwritten with -plaintext, updated req->info will contain the last block of plaintext -(instead of the last block of ciphertext) - -While these two issues could be fixed separately, it's straightforward -to fix both in the same time - by allocating extra space in the -ablkcipher_edesc for the IV that will be fed to the crypto engine; -this allows for fixing (2) by saving req->src[last_block] in req->info -directly, i.e. without allocating another temporary buffer. - -A side effect of the fix is that it's no longer possible to have the IV -and req->src contiguous. Code checking for this case is removed. - -Cc: # 4.13+ -Fixes: 854b06f76879 ("crypto: caam - properly set IV after {en,de}crypt") -Link: http://lkml.kernel.org/r/20170113084620.GF22022@gondor.apana.org.au -Reported-by: Gilad Ben-Yossef -Signed-off-by: Horia Geantă -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/caam/caamalg.c | 212 +++++++++++++++------------------- - 1 file changed, 91 insertions(+), 121 deletions(-) - -diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c -index 3e18b9266027..d67667970f7e 100644 ---- a/drivers/crypto/caam/caamalg.c -+++ b/drivers/crypto/caam/caamalg.c -@@ -774,6 +774,7 @@ struct aead_edesc { - * @sec4_sg_dma: bus physical mapped address of h/w link table - * @sec4_sg: pointer to h/w link table - * @hw_desc: the h/w job descriptor followed by any referenced link tables -+ * and IV - */ - struct ablkcipher_edesc { - int src_nents; -@@ -915,6 +916,18 @@ static void ablkcipher_encrypt_done(struct device *jrdev, u32 *desc, u32 err, - scatterwalk_map_and_copy(req->info, req->dst, req->nbytes - ivsize, - ivsize, 0); - -+ /* In case initial IV was generated, copy it in GIVCIPHER request */ -+ if (edesc->iv_dir == DMA_FROM_DEVICE) { -+ u8 *iv; -+ struct skcipher_givcrypt_request *greq; -+ -+ greq = container_of(req, struct skcipher_givcrypt_request, -+ creq); -+ iv = (u8 *)edesc->hw_desc + desc_bytes(edesc->hw_desc) + -+ edesc->sec4_sg_bytes; -+ memcpy(greq->giv, iv, ivsize); -+ } -+ - kfree(edesc); - - ablkcipher_request_complete(req, err); -@@ -925,10 +938,10 @@ static void ablkcipher_decrypt_done(struct device *jrdev, u32 *desc, u32 err, - { - struct ablkcipher_request *req = context; - struct ablkcipher_edesc *edesc; -+#ifdef DEBUG - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - --#ifdef DEBUG - dev_err(jrdev, "%s %d: err 0x%x\n", __func__, __LINE__, err); - #endif - -@@ -946,14 +959,6 @@ static void ablkcipher_decrypt_done(struct device *jrdev, u32 *desc, u32 err, - edesc->dst_nents > 1 ? 100 : req->nbytes, 1); - - ablkcipher_unmap(jrdev, edesc, req); -- -- /* -- * The crypto API expects us to set the IV (req->info) to the last -- * ciphertext block. -- */ -- scatterwalk_map_and_copy(req->info, req->src, req->nbytes - ivsize, -- ivsize, 0); -- - kfree(edesc); - - ablkcipher_request_complete(req, err); -@@ -1102,15 +1107,14 @@ static void init_authenc_job(struct aead_request *req, - */ - static void init_ablkcipher_job(u32 *sh_desc, dma_addr_t ptr, - struct ablkcipher_edesc *edesc, -- struct ablkcipher_request *req, -- bool iv_contig) -+ struct ablkcipher_request *req) - { - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - u32 *desc = edesc->hw_desc; -- u32 out_options = 0, in_options; -- dma_addr_t dst_dma, src_dma; -- int len, sec4_sg_index = 0; -+ u32 out_options = 0; -+ dma_addr_t dst_dma; -+ int len; - - #ifdef DEBUG - print_hex_dump(KERN_ERR, "presciv@"__stringify(__LINE__)": ", -@@ -1126,30 +1130,18 @@ static void init_ablkcipher_job(u32 *sh_desc, dma_addr_t ptr, - len = desc_len(sh_desc); - init_job_desc_shared(desc, ptr, len, HDR_SHARE_DEFER | HDR_REVERSE); - -- if (iv_contig) { -- src_dma = edesc->iv_dma; -- in_options = 0; -- } else { -- src_dma = edesc->sec4_sg_dma; -- sec4_sg_index += edesc->src_nents + 1; -- in_options = LDST_SGF; -- } -- append_seq_in_ptr(desc, src_dma, req->nbytes + ivsize, in_options); -+ append_seq_in_ptr(desc, edesc->sec4_sg_dma, req->nbytes + ivsize, -+ LDST_SGF); - - if (likely(req->src == req->dst)) { -- if (edesc->src_nents == 1 && iv_contig) { -- dst_dma = sg_dma_address(req->src); -- } else { -- dst_dma = edesc->sec4_sg_dma + -- sizeof(struct sec4_sg_entry); -- out_options = LDST_SGF; -- } -+ dst_dma = edesc->sec4_sg_dma + sizeof(struct sec4_sg_entry); -+ out_options = LDST_SGF; - } else { - if (edesc->dst_nents == 1) { - dst_dma = sg_dma_address(req->dst); - } else { -- dst_dma = edesc->sec4_sg_dma + -- sec4_sg_index * sizeof(struct sec4_sg_entry); -+ dst_dma = edesc->sec4_sg_dma + (edesc->src_nents + 1) * -+ sizeof(struct sec4_sg_entry); - out_options = LDST_SGF; - } - } -@@ -1161,13 +1153,12 @@ static void init_ablkcipher_job(u32 *sh_desc, dma_addr_t ptr, - */ - static void init_ablkcipher_giv_job(u32 *sh_desc, dma_addr_t ptr, - struct ablkcipher_edesc *edesc, -- struct ablkcipher_request *req, -- bool iv_contig) -+ struct ablkcipher_request *req) - { - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - u32 *desc = edesc->hw_desc; -- u32 out_options, in_options; -+ u32 in_options; - dma_addr_t dst_dma, src_dma; - int len, sec4_sg_index = 0; - -@@ -1193,15 +1184,9 @@ static void init_ablkcipher_giv_job(u32 *sh_desc, dma_addr_t ptr, - } - append_seq_in_ptr(desc, src_dma, req->nbytes, in_options); - -- if (iv_contig) { -- dst_dma = edesc->iv_dma; -- out_options = 0; -- } else { -- dst_dma = edesc->sec4_sg_dma + -- sec4_sg_index * sizeof(struct sec4_sg_entry); -- out_options = LDST_SGF; -- } -- append_seq_out_ptr(desc, dst_dma, req->nbytes + ivsize, out_options); -+ dst_dma = edesc->sec4_sg_dma + sec4_sg_index * -+ sizeof(struct sec4_sg_entry); -+ append_seq_out_ptr(desc, dst_dma, req->nbytes + ivsize, LDST_SGF); - } - - /* -@@ -1494,8 +1479,7 @@ static int aead_decrypt(struct aead_request *req) - * allocate and map the ablkcipher extended descriptor for ablkcipher - */ - static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request -- *req, int desc_bytes, -- bool *iv_contig_out) -+ *req, int desc_bytes) - { - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); -@@ -1504,8 +1488,8 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - GFP_KERNEL : GFP_ATOMIC; - int src_nents, mapped_src_nents, dst_nents = 0, mapped_dst_nents = 0; - struct ablkcipher_edesc *edesc; -- dma_addr_t iv_dma = 0; -- bool in_contig; -+ dma_addr_t iv_dma; -+ u8 *iv; - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - int dst_sg_idx, sec4_sg_ents, sec4_sg_bytes; - -@@ -1549,33 +1533,20 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - } - } - -- iv_dma = dma_map_single(jrdev, req->info, ivsize, DMA_TO_DEVICE); -- if (dma_mapping_error(jrdev, iv_dma)) { -- dev_err(jrdev, "unable to map IV\n"); -- caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, DMA_NONE, 0, 0); -- return ERR_PTR(-ENOMEM); -- } -- -- if (mapped_src_nents == 1 && -- iv_dma + ivsize == sg_dma_address(req->src)) { -- in_contig = true; -- sec4_sg_ents = 0; -- } else { -- in_contig = false; -- sec4_sg_ents = 1 + mapped_src_nents; -- } -+ sec4_sg_ents = 1 + mapped_src_nents; - dst_sg_idx = sec4_sg_ents; - sec4_sg_ents += mapped_dst_nents > 1 ? mapped_dst_nents : 0; - sec4_sg_bytes = sec4_sg_ents * sizeof(struct sec4_sg_entry); - -- /* allocate space for base edesc and hw desc commands, link tables */ -- edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes, -+ /* -+ * allocate space for base edesc and hw desc commands, link tables, IV -+ */ -+ edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes + ivsize, - GFP_DMA | flags); - if (!edesc) { - dev_err(jrdev, "could not allocate extended descriptor\n"); -- caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, DMA_TO_DEVICE, 0, 0); -+ caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, DMA_NONE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1586,12 +1557,22 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - desc_bytes; - edesc->iv_dir = DMA_TO_DEVICE; - -- if (!in_contig) { -- dma_to_sec4_sg_one(edesc->sec4_sg, iv_dma, ivsize, 0); -- sg_to_sec4_sg_last(req->src, mapped_src_nents, -- edesc->sec4_sg + 1, 0); -+ /* Make sure IV is located in a DMAable area */ -+ iv = (u8 *)edesc->hw_desc + desc_bytes + sec4_sg_bytes; -+ memcpy(iv, req->info, ivsize); -+ -+ iv_dma = dma_map_single(jrdev, iv, ivsize, DMA_TO_DEVICE); -+ if (dma_mapping_error(jrdev, iv_dma)) { -+ dev_err(jrdev, "unable to map IV\n"); -+ caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, DMA_NONE, 0, 0); -+ kfree(edesc); -+ return ERR_PTR(-ENOMEM); - } - -+ dma_to_sec4_sg_one(edesc->sec4_sg, iv_dma, ivsize, 0); -+ sg_to_sec4_sg_last(req->src, mapped_src_nents, edesc->sec4_sg + 1, 0); -+ - if (mapped_dst_nents > 1) { - sg_to_sec4_sg_last(req->dst, mapped_dst_nents, - edesc->sec4_sg + dst_sg_idx, 0); -@@ -1615,7 +1596,6 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - sec4_sg_bytes, 1); - #endif - -- *iv_contig_out = in_contig; - return edesc; - } - -@@ -1625,19 +1605,16 @@ static int ablkcipher_encrypt(struct ablkcipher_request *req) - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); - struct device *jrdev = ctx->jrdev; -- bool iv_contig; - u32 *desc; - int ret = 0; - - /* allocate extended descriptor */ -- edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * -- CAAM_CMD_SZ, &iv_contig); -+ edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); - if (IS_ERR(edesc)) - return PTR_ERR(edesc); - - /* Create and submit job descriptor*/ -- init_ablkcipher_job(ctx->sh_desc_enc, -- ctx->sh_desc_enc_dma, edesc, req, iv_contig); -+ init_ablkcipher_job(ctx->sh_desc_enc, ctx->sh_desc_enc_dma, edesc, req); - #ifdef DEBUG - print_hex_dump(KERN_ERR, "ablkcipher jobdesc@"__stringify(__LINE__)": ", - DUMP_PREFIX_ADDRESS, 16, 4, edesc->hw_desc, -@@ -1661,20 +1638,25 @@ static int ablkcipher_decrypt(struct ablkcipher_request *req) - struct ablkcipher_edesc *edesc; - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); -+ int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - struct device *jrdev = ctx->jrdev; -- bool iv_contig; - u32 *desc; - int ret = 0; - - /* allocate extended descriptor */ -- edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * -- CAAM_CMD_SZ, &iv_contig); -+ edesc = ablkcipher_edesc_alloc(req, DESC_JOB_IO_LEN * CAAM_CMD_SZ); - if (IS_ERR(edesc)) - return PTR_ERR(edesc); - -+ /* -+ * The crypto API expects us to set the IV (req->info) to the last -+ * ciphertext block. -+ */ -+ scatterwalk_map_and_copy(req->info, req->src, req->nbytes - ivsize, -+ ivsize, 0); -+ - /* Create and submit job descriptor*/ -- init_ablkcipher_job(ctx->sh_desc_dec, -- ctx->sh_desc_dec_dma, edesc, req, iv_contig); -+ init_ablkcipher_job(ctx->sh_desc_dec, ctx->sh_desc_dec_dma, edesc, req); - desc = edesc->hw_desc; - #ifdef DEBUG - print_hex_dump(KERN_ERR, "ablkcipher jobdesc@"__stringify(__LINE__)": ", -@@ -1699,8 +1681,7 @@ static int ablkcipher_decrypt(struct ablkcipher_request *req) - */ - static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - struct skcipher_givcrypt_request *greq, -- int desc_bytes, -- bool *iv_contig_out) -+ int desc_bytes) - { - struct ablkcipher_request *req = &greq->creq; - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); -@@ -1710,8 +1691,8 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - GFP_KERNEL : GFP_ATOMIC; - int src_nents, mapped_src_nents, dst_nents, mapped_dst_nents; - struct ablkcipher_edesc *edesc; -- dma_addr_t iv_dma = 0; -- bool out_contig; -+ dma_addr_t iv_dma; -+ u8 *iv; - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - int dst_sg_idx, sec4_sg_ents, sec4_sg_bytes; - -@@ -1756,36 +1737,20 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - } - } - -- /* -- * Check if iv can be contiguous with source and destination. -- * If so, include it. If not, create scatterlist. -- */ -- iv_dma = dma_map_single(jrdev, greq->giv, ivsize, DMA_FROM_DEVICE); -- if (dma_mapping_error(jrdev, iv_dma)) { -- dev_err(jrdev, "unable to map IV\n"); -- caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, DMA_NONE, 0, 0); -- return ERR_PTR(-ENOMEM); -- } -- - sec4_sg_ents = mapped_src_nents > 1 ? mapped_src_nents : 0; - dst_sg_idx = sec4_sg_ents; -- if (mapped_dst_nents == 1 && -- iv_dma + ivsize == sg_dma_address(req->dst)) { -- out_contig = true; -- } else { -- out_contig = false; -- sec4_sg_ents += 1 + mapped_dst_nents; -- } -+ sec4_sg_ents += 1 + mapped_dst_nents; - -- /* allocate space for base edesc and hw desc commands, link tables */ -+ /* -+ * allocate space for base edesc and hw desc commands, link tables, IV -+ */ - sec4_sg_bytes = sec4_sg_ents * sizeof(struct sec4_sg_entry); -- edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes, -+ edesc = kzalloc(sizeof(*edesc) + desc_bytes + sec4_sg_bytes + ivsize, - GFP_DMA | flags); - if (!edesc) { - dev_err(jrdev, "could not allocate extended descriptor\n"); -- caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, DMA_FROM_DEVICE, 0, 0); -+ caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, DMA_NONE, 0, 0); - return ERR_PTR(-ENOMEM); - } - -@@ -1796,16 +1761,24 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - desc_bytes; - edesc->iv_dir = DMA_FROM_DEVICE; - -+ /* Make sure IV is located in a DMAable area */ -+ iv = (u8 *)edesc->hw_desc + desc_bytes + sec4_sg_bytes; -+ iv_dma = dma_map_single(jrdev, iv, ivsize, DMA_FROM_DEVICE); -+ if (dma_mapping_error(jrdev, iv_dma)) { -+ dev_err(jrdev, "unable to map IV\n"); -+ caam_unmap(jrdev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, DMA_NONE, 0, 0); -+ kfree(edesc); -+ return ERR_PTR(-ENOMEM); -+ } -+ - if (mapped_src_nents > 1) - sg_to_sec4_sg_last(req->src, mapped_src_nents, edesc->sec4_sg, - 0); - -- if (!out_contig) { -- dma_to_sec4_sg_one(edesc->sec4_sg + dst_sg_idx, -- iv_dma, ivsize, 0); -- sg_to_sec4_sg_last(req->dst, mapped_dst_nents, -- edesc->sec4_sg + dst_sg_idx + 1, 0); -- } -+ dma_to_sec4_sg_one(edesc->sec4_sg + dst_sg_idx, iv_dma, ivsize, 0); -+ sg_to_sec4_sg_last(req->dst, mapped_dst_nents, edesc->sec4_sg + -+ dst_sg_idx + 1, 0); - - edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, - sec4_sg_bytes, DMA_TO_DEVICE); -@@ -1825,7 +1798,6 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - sec4_sg_bytes, 1); - #endif - -- *iv_contig_out = out_contig; - return edesc; - } - -@@ -1836,19 +1808,17 @@ static int ablkcipher_givencrypt(struct skcipher_givcrypt_request *creq) - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); - struct device *jrdev = ctx->jrdev; -- bool iv_contig = false; - u32 *desc; - int ret = 0; - - /* allocate extended descriptor */ -- edesc = ablkcipher_giv_edesc_alloc(creq, DESC_JOB_IO_LEN * -- CAAM_CMD_SZ, &iv_contig); -+ edesc = ablkcipher_giv_edesc_alloc(creq, DESC_JOB_IO_LEN * CAAM_CMD_SZ); - if (IS_ERR(edesc)) - return PTR_ERR(edesc); - - /* Create and submit job descriptor*/ - init_ablkcipher_giv_job(ctx->sh_desc_givenc, ctx->sh_desc_givenc_dma, -- edesc, req, iv_contig); -+ edesc, req); - #ifdef DEBUG - print_hex_dump(KERN_ERR, - "ablkcipher jobdesc@" __stringify(__LINE__) ": ", --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-039-crypto-caam-qi-fix-IV-DMA-mapping-and-updating.patch b/patches.kernel.org/4.17.2-039-crypto-caam-qi-fix-IV-DMA-mapping-and-updating.patch deleted file mode 100644 index f6aaa1e..0000000 --- a/patches.kernel.org/4.17.2-039-crypto-caam-qi-fix-IV-DMA-mapping-and-updating.patch +++ /dev/null @@ -1,436 +0,0 @@ -From: =?UTF-8?q?Horia=20Geant=C4=83?= -Date: Wed, 28 Mar 2018 15:39:19 +0300 -Subject: [PATCH] crypto: caam/qi - fix IV DMA mapping and updating -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 3a488aaec6f343b5dc6d94529847a840bbeaf009 - -commit 3a488aaec6f343b5dc6d94529847a840bbeaf009 upstream. - -There are two IV-related issues: -(1) crypto API does not guarantee to provide an IV buffer that is DMAable, -thus it's incorrect to DMA map it -(2) for in-place decryption, since ciphertext is overwritten with -plaintext, updated IV (req->info) will contain the last block of plaintext -(instead of the last block of ciphertext) - -While these two issues could be fixed separately, it's straightforward -to fix both in the same time - by using the {ablkcipher,aead}_edesc -extended descriptor to store the IV that will be fed to the crypto engine; -this allows for fixing (2) by saving req->src[last_block] in req->info -directly, i.e. without allocating yet another temporary buffer. - -A side effect of the fix is that it's no longer possible to have the IV -contiguous with req->src or req->dst. -Code checking for this case is removed. - -Cc: # 4.14+ -Fixes: a68a19380522 ("crypto: caam/qi - properly set IV after {en,de}crypt") -Link: http://lkml.kernel.org/r/20170113084620.GF22022@gondor.apana.org.au -Reported-by: Gilad Ben-Yossef -Signed-off-by: Horia Geantă -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/caam/caamalg_qi.c | 227 ++++++++++++++++--------------- - 1 file changed, 116 insertions(+), 111 deletions(-) - -diff --git a/drivers/crypto/caam/caamalg_qi.c b/drivers/crypto/caam/caamalg_qi.c -index cacda0831390..6e61cc93c2b0 100644 ---- a/drivers/crypto/caam/caamalg_qi.c -+++ b/drivers/crypto/caam/caamalg_qi.c -@@ -728,7 +728,7 @@ static int xts_ablkcipher_setkey(struct crypto_ablkcipher *ablkcipher, - * @assoclen: associated data length, in CAAM endianness - * @assoclen_dma: bus physical mapped address of req->assoclen - * @drv_req: driver-specific request structure -- * @sgt: the h/w link table -+ * @sgt: the h/w link table, followed by IV - */ - struct aead_edesc { - int src_nents; -@@ -739,9 +739,6 @@ struct aead_edesc { - unsigned int assoclen; - dma_addr_t assoclen_dma; - struct caam_drv_req drv_req; --#define CAAM_QI_MAX_AEAD_SG \ -- ((CAAM_QI_MEMCACHE_SIZE - offsetof(struct aead_edesc, sgt)) / \ -- sizeof(struct qm_sg_entry)) - struct qm_sg_entry sgt[0]; - }; - -@@ -753,7 +750,7 @@ struct aead_edesc { - * @qm_sg_bytes: length of dma mapped h/w link table - * @qm_sg_dma: bus physical mapped address of h/w link table - * @drv_req: driver-specific request structure -- * @sgt: the h/w link table -+ * @sgt: the h/w link table, followed by IV - */ - struct ablkcipher_edesc { - int src_nents; -@@ -762,9 +759,6 @@ struct ablkcipher_edesc { - int qm_sg_bytes; - dma_addr_t qm_sg_dma; - struct caam_drv_req drv_req; --#define CAAM_QI_MAX_ABLKCIPHER_SG \ -- ((CAAM_QI_MEMCACHE_SIZE - offsetof(struct ablkcipher_edesc, sgt)) / \ -- sizeof(struct qm_sg_entry)) - struct qm_sg_entry sgt[0]; - }; - -@@ -986,17 +980,8 @@ static struct aead_edesc *aead_edesc_alloc(struct aead_request *req, - } - } - -- if ((alg->caam.rfc3686 && encrypt) || !alg->caam.geniv) { -+ if ((alg->caam.rfc3686 && encrypt) || !alg->caam.geniv) - ivsize = crypto_aead_ivsize(aead); -- iv_dma = dma_map_single(qidev, req->iv, ivsize, DMA_TO_DEVICE); -- if (dma_mapping_error(qidev, iv_dma)) { -- dev_err(qidev, "unable to map IV\n"); -- caam_unmap(qidev, req->src, req->dst, src_nents, -- dst_nents, 0, 0, op_type, 0, 0); -- qi_cache_free(edesc); -- return ERR_PTR(-ENOMEM); -- } -- } - - /* - * Create S/G table: req->assoclen, [IV,] req->src [, req->dst]. -@@ -1004,16 +989,33 @@ static struct aead_edesc *aead_edesc_alloc(struct aead_request *req, - */ - qm_sg_ents = 1 + !!ivsize + mapped_src_nents + - (mapped_dst_nents > 1 ? mapped_dst_nents : 0); -- if (unlikely(qm_sg_ents > CAAM_QI_MAX_AEAD_SG)) { -- dev_err(qidev, "Insufficient S/G entries: %d > %zu\n", -- qm_sg_ents, CAAM_QI_MAX_AEAD_SG); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, op_type, 0, 0); -+ sg_table = &edesc->sgt[0]; -+ qm_sg_bytes = qm_sg_ents * sizeof(*sg_table); -+ if (unlikely(offsetof(struct aead_edesc, sgt) + qm_sg_bytes + ivsize > -+ CAAM_QI_MEMCACHE_SIZE)) { -+ dev_err(qidev, "No space for %d S/G entries and/or %dB IV\n", -+ qm_sg_ents, ivsize); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); - qi_cache_free(edesc); - return ERR_PTR(-ENOMEM); - } -- sg_table = &edesc->sgt[0]; -- qm_sg_bytes = qm_sg_ents * sizeof(*sg_table); -+ -+ if (ivsize) { -+ u8 *iv = (u8 *)(sg_table + qm_sg_ents); -+ -+ /* Make sure IV is located in a DMAable area */ -+ memcpy(iv, req->iv, ivsize); -+ -+ iv_dma = dma_map_single(qidev, iv, ivsize, DMA_TO_DEVICE); -+ if (dma_mapping_error(qidev, iv_dma)) { -+ dev_err(qidev, "unable to map IV\n"); -+ caam_unmap(qidev, req->src, req->dst, src_nents, -+ dst_nents, 0, 0, 0, 0, 0); -+ qi_cache_free(edesc); -+ return ERR_PTR(-ENOMEM); -+ } -+ } - - edesc->src_nents = src_nents; - edesc->dst_nents = dst_nents; -@@ -1166,15 +1168,27 @@ static void ablkcipher_done(struct caam_drv_req *drv_req, u32 status) - #endif - - ablkcipher_unmap(qidev, edesc, req); -- qi_cache_free(edesc); -+ -+ /* In case initial IV was generated, copy it in GIVCIPHER request */ -+ if (edesc->drv_req.drv_ctx->op_type == GIVENCRYPT) { -+ u8 *iv; -+ struct skcipher_givcrypt_request *greq; -+ -+ greq = container_of(req, struct skcipher_givcrypt_request, -+ creq); -+ iv = (u8 *)edesc->sgt + edesc->qm_sg_bytes; -+ memcpy(greq->giv, iv, ivsize); -+ } - - /* - * The crypto API expects us to set the IV (req->info) to the last - * ciphertext block. This is used e.g. by the CTS mode. - */ -- scatterwalk_map_and_copy(req->info, req->dst, req->nbytes - ivsize, -- ivsize, 0); -+ if (edesc->drv_req.drv_ctx->op_type != DECRYPT) -+ scatterwalk_map_and_copy(req->info, req->dst, req->nbytes - -+ ivsize, ivsize, 0); - -+ qi_cache_free(edesc); - ablkcipher_request_complete(req, status); - } - -@@ -1189,9 +1203,9 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - int src_nents, mapped_src_nents, dst_nents = 0, mapped_dst_nents = 0; - struct ablkcipher_edesc *edesc; - dma_addr_t iv_dma; -- bool in_contig; -+ u8 *iv; - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); -- int dst_sg_idx, qm_sg_ents; -+ int dst_sg_idx, qm_sg_ents, qm_sg_bytes; - struct qm_sg_entry *sg_table, *fd_sgt; - struct caam_drv_ctx *drv_ctx; - enum optype op_type = encrypt ? ENCRYPT : DECRYPT; -@@ -1238,55 +1252,53 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - } - } - -- iv_dma = dma_map_single(qidev, req->info, ivsize, DMA_TO_DEVICE); -- if (dma_mapping_error(qidev, iv_dma)) { -- dev_err(qidev, "unable to map IV\n"); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, 0, 0, 0); -- return ERR_PTR(-ENOMEM); -- } -- -- if (mapped_src_nents == 1 && -- iv_dma + ivsize == sg_dma_address(req->src)) { -- in_contig = true; -- qm_sg_ents = 0; -- } else { -- in_contig = false; -- qm_sg_ents = 1 + mapped_src_nents; -- } -+ qm_sg_ents = 1 + mapped_src_nents; - dst_sg_idx = qm_sg_ents; - - qm_sg_ents += mapped_dst_nents > 1 ? mapped_dst_nents : 0; -- if (unlikely(qm_sg_ents > CAAM_QI_MAX_ABLKCIPHER_SG)) { -- dev_err(qidev, "Insufficient S/G entries: %d > %zu\n", -- qm_sg_ents, CAAM_QI_MAX_ABLKCIPHER_SG); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, op_type, 0, 0); -+ qm_sg_bytes = qm_sg_ents * sizeof(struct qm_sg_entry); -+ if (unlikely(offsetof(struct ablkcipher_edesc, sgt) + qm_sg_bytes + -+ ivsize > CAAM_QI_MEMCACHE_SIZE)) { -+ dev_err(qidev, "No space for %d S/G entries and/or %dB IV\n", -+ qm_sg_ents, ivsize); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); - return ERR_PTR(-ENOMEM); - } - -- /* allocate space for base edesc and link tables */ -+ /* allocate space for base edesc, link tables and IV */ - edesc = qi_cache_alloc(GFP_DMA | flags); - if (unlikely(!edesc)) { - dev_err(qidev, "could not allocate extended descriptor\n"); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, op_type, 0, 0); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); -+ return ERR_PTR(-ENOMEM); -+ } -+ -+ /* Make sure IV is located in a DMAable area */ -+ sg_table = &edesc->sgt[0]; -+ iv = (u8 *)(sg_table + qm_sg_ents); -+ memcpy(iv, req->info, ivsize); -+ -+ iv_dma = dma_map_single(qidev, iv, ivsize, DMA_TO_DEVICE); -+ if (dma_mapping_error(qidev, iv_dma)) { -+ dev_err(qidev, "unable to map IV\n"); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); -+ qi_cache_free(edesc); - return ERR_PTR(-ENOMEM); - } - - edesc->src_nents = src_nents; - edesc->dst_nents = dst_nents; - edesc->iv_dma = iv_dma; -- sg_table = &edesc->sgt[0]; -- edesc->qm_sg_bytes = qm_sg_ents * sizeof(*sg_table); -+ edesc->qm_sg_bytes = qm_sg_bytes; - edesc->drv_req.app_ctx = req; - edesc->drv_req.cbk = ablkcipher_done; - edesc->drv_req.drv_ctx = drv_ctx; - -- if (!in_contig) { -- dma_to_qm_sg_one(sg_table, iv_dma, ivsize, 0); -- sg_to_qm_sg_last(req->src, mapped_src_nents, sg_table + 1, 0); -- } -+ dma_to_qm_sg_one(sg_table, iv_dma, ivsize, 0); -+ sg_to_qm_sg_last(req->src, mapped_src_nents, sg_table + 1, 0); - - if (mapped_dst_nents > 1) - sg_to_qm_sg_last(req->dst, mapped_dst_nents, sg_table + -@@ -1304,20 +1316,12 @@ static struct ablkcipher_edesc *ablkcipher_edesc_alloc(struct ablkcipher_request - - fd_sgt = &edesc->drv_req.fd_sgt[0]; - -- if (!in_contig) -- dma_to_qm_sg_one_last_ext(&fd_sgt[1], edesc->qm_sg_dma, -- ivsize + req->nbytes, 0); -- else -- dma_to_qm_sg_one_last(&fd_sgt[1], iv_dma, ivsize + req->nbytes, -- 0); -+ dma_to_qm_sg_one_last_ext(&fd_sgt[1], edesc->qm_sg_dma, -+ ivsize + req->nbytes, 0); - - if (req->src == req->dst) { -- if (!in_contig) -- dma_to_qm_sg_one_ext(&fd_sgt[0], edesc->qm_sg_dma + -- sizeof(*sg_table), req->nbytes, 0); -- else -- dma_to_qm_sg_one(&fd_sgt[0], sg_dma_address(req->src), -- req->nbytes, 0); -+ dma_to_qm_sg_one_ext(&fd_sgt[0], edesc->qm_sg_dma + -+ sizeof(*sg_table), req->nbytes, 0); - } else if (mapped_dst_nents > 1) { - dma_to_qm_sg_one_ext(&fd_sgt[0], edesc->qm_sg_dma + dst_sg_idx * - sizeof(*sg_table), req->nbytes, 0); -@@ -1341,10 +1345,10 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - int src_nents, mapped_src_nents, dst_nents, mapped_dst_nents; - struct ablkcipher_edesc *edesc; - dma_addr_t iv_dma; -- bool out_contig; -+ u8 *iv; - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - struct qm_sg_entry *sg_table, *fd_sgt; -- int dst_sg_idx, qm_sg_ents; -+ int dst_sg_idx, qm_sg_ents, qm_sg_bytes; - struct caam_drv_ctx *drv_ctx; - - drv_ctx = get_drv_ctx(ctx, GIVENCRYPT); -@@ -1392,46 +1396,45 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - mapped_dst_nents = src_nents; - } - -- iv_dma = dma_map_single(qidev, creq->giv, ivsize, DMA_FROM_DEVICE); -- if (dma_mapping_error(qidev, iv_dma)) { -- dev_err(qidev, "unable to map IV\n"); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -- 0, 0, 0, 0); -- return ERR_PTR(-ENOMEM); -- } -- - qm_sg_ents = mapped_src_nents > 1 ? mapped_src_nents : 0; - dst_sg_idx = qm_sg_ents; -- if (mapped_dst_nents == 1 && -- iv_dma + ivsize == sg_dma_address(req->dst)) { -- out_contig = true; -- } else { -- out_contig = false; -- qm_sg_ents += 1 + mapped_dst_nents; -- } - -- if (unlikely(qm_sg_ents > CAAM_QI_MAX_ABLKCIPHER_SG)) { -- dev_err(qidev, "Insufficient S/G entries: %d > %zu\n", -- qm_sg_ents, CAAM_QI_MAX_ABLKCIPHER_SG); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, GIVENCRYPT, 0, 0); -+ qm_sg_ents += 1 + mapped_dst_nents; -+ qm_sg_bytes = qm_sg_ents * sizeof(struct qm_sg_entry); -+ if (unlikely(offsetof(struct ablkcipher_edesc, sgt) + qm_sg_bytes + -+ ivsize > CAAM_QI_MEMCACHE_SIZE)) { -+ dev_err(qidev, "No space for %d S/G entries and/or %dB IV\n", -+ qm_sg_ents, ivsize); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); - return ERR_PTR(-ENOMEM); - } - -- /* allocate space for base edesc and link tables */ -+ /* allocate space for base edesc, link tables and IV */ - edesc = qi_cache_alloc(GFP_DMA | flags); - if (!edesc) { - dev_err(qidev, "could not allocate extended descriptor\n"); -- caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, -- iv_dma, ivsize, GIVENCRYPT, 0, 0); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); -+ return ERR_PTR(-ENOMEM); -+ } -+ -+ /* Make sure IV is located in a DMAable area */ -+ sg_table = &edesc->sgt[0]; -+ iv = (u8 *)(sg_table + qm_sg_ents); -+ iv_dma = dma_map_single(qidev, iv, ivsize, DMA_FROM_DEVICE); -+ if (dma_mapping_error(qidev, iv_dma)) { -+ dev_err(qidev, "unable to map IV\n"); -+ caam_unmap(qidev, req->src, req->dst, src_nents, dst_nents, 0, -+ 0, 0, 0, 0); -+ qi_cache_free(edesc); - return ERR_PTR(-ENOMEM); - } - - edesc->src_nents = src_nents; - edesc->dst_nents = dst_nents; - edesc->iv_dma = iv_dma; -- sg_table = &edesc->sgt[0]; -- edesc->qm_sg_bytes = qm_sg_ents * sizeof(*sg_table); -+ edesc->qm_sg_bytes = qm_sg_bytes; - edesc->drv_req.app_ctx = req; - edesc->drv_req.cbk = ablkcipher_done; - edesc->drv_req.drv_ctx = drv_ctx; -@@ -1439,11 +1442,9 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - if (mapped_src_nents > 1) - sg_to_qm_sg_last(req->src, mapped_src_nents, sg_table, 0); - -- if (!out_contig) { -- dma_to_qm_sg_one(sg_table + dst_sg_idx, iv_dma, ivsize, 0); -- sg_to_qm_sg_last(req->dst, mapped_dst_nents, sg_table + -- dst_sg_idx + 1, 0); -- } -+ dma_to_qm_sg_one(sg_table + dst_sg_idx, iv_dma, ivsize, 0); -+ sg_to_qm_sg_last(req->dst, mapped_dst_nents, sg_table + dst_sg_idx + 1, -+ 0); - - edesc->qm_sg_dma = dma_map_single(qidev, sg_table, edesc->qm_sg_bytes, - DMA_TO_DEVICE); -@@ -1464,13 +1465,8 @@ static struct ablkcipher_edesc *ablkcipher_giv_edesc_alloc( - dma_to_qm_sg_one(&fd_sgt[1], sg_dma_address(req->src), - req->nbytes, 0); - -- if (!out_contig) -- dma_to_qm_sg_one_ext(&fd_sgt[0], edesc->qm_sg_dma + dst_sg_idx * -- sizeof(*sg_table), ivsize + req->nbytes, -- 0); -- else -- dma_to_qm_sg_one(&fd_sgt[0], sg_dma_address(req->dst), -- ivsize + req->nbytes, 0); -+ dma_to_qm_sg_one_ext(&fd_sgt[0], edesc->qm_sg_dma + dst_sg_idx * -+ sizeof(*sg_table), ivsize + req->nbytes, 0); - - return edesc; - } -@@ -1480,6 +1476,7 @@ static inline int ablkcipher_crypt(struct ablkcipher_request *req, bool encrypt) - struct ablkcipher_edesc *edesc; - struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); - struct caam_ctx *ctx = crypto_ablkcipher_ctx(ablkcipher); -+ int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - int ret; - - if (unlikely(caam_congested)) -@@ -1490,6 +1487,14 @@ static inline int ablkcipher_crypt(struct ablkcipher_request *req, bool encrypt) - if (IS_ERR(edesc)) - return PTR_ERR(edesc); - -+ /* -+ * The crypto API expects us to set the IV (req->info) to the last -+ * ciphertext block. -+ */ -+ if (!encrypt) -+ scatterwalk_map_and_copy(req->info, req->src, req->nbytes - -+ ivsize, ivsize, 0); -+ - ret = caam_qi_enqueue(ctx->qidev, &edesc->drv_req); - if (!ret) { - ret = -EINPROGRESS; --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-040-crypto-caam-fix-size-of-RSA-prime-factor-q.patch b/patches.kernel.org/4.17.2-040-crypto-caam-fix-size-of-RSA-prime-factor-q.patch deleted file mode 100644 index 0a6f9ab..0000000 --- a/patches.kernel.org/4.17.2-040-crypto-caam-fix-size-of-RSA-prime-factor-q.patch +++ /dev/null @@ -1,70 +0,0 @@ -From: =?UTF-8?q?Horia=20Geant=C4=83?= -Date: Fri, 27 Apr 2018 11:40:11 +0300 -Subject: [PATCH] crypto: caam - fix size of RSA prime factor q -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 4bffaab373d9afaf862f3924442c33340bd26736 - -commit 4bffaab373d9afaf862f3924442c33340bd26736 upstream. - -Fix a typo where size of RSA prime factor q is using the size of -prime factor p. - -Cc: # 4.13+ -Fixes: 52e26d77b8b3 ("crypto: caam - add support for RSA key form 2") -Fixes: 4a651b122adb ("crypto: caam - add support for RSA key form 3") -Reported-by: David Binderman -Signed-off-by: Horia Geantă -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/caam/caampkc.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/crypto/caam/caampkc.c b/drivers/crypto/caam/caampkc.c -index 979072b25eaa..7ff4a25440ac 100644 ---- a/drivers/crypto/caam/caampkc.c -+++ b/drivers/crypto/caam/caampkc.c -@@ -66,7 +66,7 @@ static void rsa_priv_f2_unmap(struct device *dev, struct rsa_edesc *edesc, - struct caam_rsa_key *key = &ctx->key; - struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; - size_t p_sz = key->p_sz; -- size_t q_sz = key->p_sz; -+ size_t q_sz = key->q_sz; - - dma_unmap_single(dev, pdb->d_dma, key->d_sz, DMA_TO_DEVICE); - dma_unmap_single(dev, pdb->p_dma, p_sz, DMA_TO_DEVICE); -@@ -83,7 +83,7 @@ static void rsa_priv_f3_unmap(struct device *dev, struct rsa_edesc *edesc, - struct caam_rsa_key *key = &ctx->key; - struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; - size_t p_sz = key->p_sz; -- size_t q_sz = key->p_sz; -+ size_t q_sz = key->q_sz; - - dma_unmap_single(dev, pdb->p_dma, p_sz, DMA_TO_DEVICE); - dma_unmap_single(dev, pdb->q_dma, q_sz, DMA_TO_DEVICE); -@@ -397,7 +397,7 @@ static int set_rsa_priv_f2_pdb(struct akcipher_request *req, - struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; - int sec4_sg_index = 0; - size_t p_sz = key->p_sz; -- size_t q_sz = key->p_sz; -+ size_t q_sz = key->q_sz; - - pdb->d_dma = dma_map_single(dev, key->d, key->d_sz, DMA_TO_DEVICE); - if (dma_mapping_error(dev, pdb->d_dma)) { -@@ -472,7 +472,7 @@ static int set_rsa_priv_f3_pdb(struct akcipher_request *req, - struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; - int sec4_sg_index = 0; - size_t p_sz = key->p_sz; -- size_t q_sz = key->p_sz; -+ size_t q_sz = key->q_sz; - - pdb->p_dma = dma_map_single(dev, key->p, p_sz, DMA_TO_DEVICE); - if (dma_mapping_error(dev, pdb->p_dma)) { --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-041-crypto-cavium-Fix-fallout-from-CONFIG_VMAP_STA.patch b/patches.kernel.org/4.17.2-041-crypto-cavium-Fix-fallout-from-CONFIG_VMAP_STA.patch deleted file mode 100644 index 277a4ec..0000000 --- a/patches.kernel.org/4.17.2-041-crypto-cavium-Fix-fallout-from-CONFIG_VMAP_STA.patch +++ /dev/null @@ -1,116 +0,0 @@ -From: Jan Glauber -Date: Mon, 9 Apr 2018 17:45:50 +0200 -Subject: [PATCH] crypto: cavium - Fix fallout from CONFIG_VMAP_STACK -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 37ff02acaa3d7be87ecb89f198a549ffd3ae2403 - -commit 37ff02acaa3d7be87ecb89f198a549ffd3ae2403 upstream. - -Enabling virtual mapped kernel stacks breaks the thunderx_zip -driver. On compression or decompression the executing CPU hangs -in an endless loop. The reason for this is the usage of __pa -by the driver which does no longer work for an address that is -not part of the 1:1 mapping. - -The zip driver allocates a result struct on the stack and needs -to tell the hardware the physical address within this struct -that is used to signal the completion of the request. - -As the hardware gets the wrong address after the broken __pa -conversion it writes to an arbitrary address. The zip driver then -waits forever for the completion byte to contain a non-zero value. - -Allocating the result struct from 1:1 mapped memory resolves this -bug. - -Signed-off-by: Jan Glauber -Reviewed-by: Robert Richter -Cc: stable # 4.14 -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/cavium/zip/zip_crypto.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -diff --git a/drivers/crypto/cavium/zip/zip_crypto.c b/drivers/crypto/cavium/zip/zip_crypto.c -index 8df4d26cf9d4..b92b6e7e100f 100644 ---- a/drivers/crypto/cavium/zip/zip_crypto.c -+++ b/drivers/crypto/cavium/zip/zip_crypto.c -@@ -124,7 +124,7 @@ int zip_compress(const u8 *src, unsigned int slen, - struct zip_kernel_ctx *zip_ctx) - { - struct zip_operation *zip_ops = NULL; -- struct zip_state zip_state; -+ struct zip_state *zip_state; - struct zip_device *zip = NULL; - int ret; - -@@ -135,20 +135,23 @@ int zip_compress(const u8 *src, unsigned int slen, - if (!zip) - return -ENODEV; - -- memset(&zip_state, 0, sizeof(struct zip_state)); -+ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); -+ if (!zip_state) -+ return -ENOMEM; -+ - zip_ops = &zip_ctx->zip_comp; - - zip_ops->input_len = slen; - zip_ops->output_len = *dlen; - memcpy(zip_ops->input, src, slen); - -- ret = zip_deflate(zip_ops, &zip_state, zip); -+ ret = zip_deflate(zip_ops, zip_state, zip); - - if (!ret) { - *dlen = zip_ops->output_len; - memcpy(dst, zip_ops->output, *dlen); - } -- -+ kfree(zip_state); - return ret; - } - -@@ -157,7 +160,7 @@ int zip_decompress(const u8 *src, unsigned int slen, - struct zip_kernel_ctx *zip_ctx) - { - struct zip_operation *zip_ops = NULL; -- struct zip_state zip_state; -+ struct zip_state *zip_state; - struct zip_device *zip = NULL; - int ret; - -@@ -168,7 +171,10 @@ int zip_decompress(const u8 *src, unsigned int slen, - if (!zip) - return -ENODEV; - -- memset(&zip_state, 0, sizeof(struct zip_state)); -+ zip_state = kzalloc(sizeof(*zip_state), GFP_ATOMIC); -+ if (!zip_state) -+ return -ENOMEM; -+ - zip_ops = &zip_ctx->zip_decomp; - memcpy(zip_ops->input, src, slen); - -@@ -179,13 +185,13 @@ int zip_decompress(const u8 *src, unsigned int slen, - zip_ops->input_len = slen; - zip_ops->output_len = *dlen; - -- ret = zip_inflate(zip_ops, &zip_state, zip); -+ ret = zip_inflate(zip_ops, zip_state, zip); - - if (!ret) { - *dlen = zip_ops->output_len; - memcpy(dst, zip_ops->output, *dlen); - } -- -+ kfree(zip_state); - return ret; - } - --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-042-crypto-cavium-Limit-result-reading-attempts.patch b/patches.kernel.org/4.17.2-042-crypto-cavium-Limit-result-reading-attempts.patch deleted file mode 100644 index 74a82ab..0000000 --- a/patches.kernel.org/4.17.2-042-crypto-cavium-Limit-result-reading-attempts.patch +++ /dev/null @@ -1,103 +0,0 @@ -From: Jan Glauber -Date: Mon, 9 Apr 2018 17:45:51 +0200 -Subject: [PATCH] crypto: cavium - Limit result reading attempts -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: c782a8c43e94ba6c09e9de2d69b5e3a5840ce61c - -commit c782a8c43e94ba6c09e9de2d69b5e3a5840ce61c upstream. - -After issuing a request an endless loop was used to read the -completion state from memory which is asynchronously updated -by the ZIP coprocessor. - -Add an upper bound to the retry attempts to prevent a CPU getting stuck -forever in case of an error. Additionally, add a read memory barrier -and a small delay between the reading attempts. - -Signed-off-by: Jan Glauber -Reviewed-by: Robert Richter -Cc: stable # 4.14 -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/cavium/zip/common.h | 21 +++++++++++++++++++++ - drivers/crypto/cavium/zip/zip_deflate.c | 4 ++-- - drivers/crypto/cavium/zip/zip_inflate.c | 4 ++-- - 3 files changed, 25 insertions(+), 4 deletions(-) - -diff --git a/drivers/crypto/cavium/zip/common.h b/drivers/crypto/cavium/zip/common.h -index dc451e0a43c5..58fb3ed6e644 100644 ---- a/drivers/crypto/cavium/zip/common.h -+++ b/drivers/crypto/cavium/zip/common.h -@@ -46,8 +46,10 @@ - #ifndef __COMMON_H__ - #define __COMMON_H__ - -+#include - #include - #include -+#include - #include - #include - #include -@@ -149,6 +151,25 @@ struct zip_operation { - u32 sizeofzops; - }; - -+static inline int zip_poll_result(union zip_zres_s *result) -+{ -+ int retries = 1000; -+ -+ while (!result->s.compcode) { -+ if (!--retries) { -+ pr_err("ZIP ERR: request timed out"); -+ return -ETIMEDOUT; -+ } -+ udelay(10); -+ /* -+ * Force re-reading of compcode which is updated -+ * by the ZIP coprocessor. -+ */ -+ rmb(); -+ } -+ return 0; -+} -+ - /* error messages */ - #define zip_err(fmt, args...) pr_err("ZIP ERR:%s():%d: " \ - fmt "\n", __func__, __LINE__, ## args) -diff --git a/drivers/crypto/cavium/zip/zip_deflate.c b/drivers/crypto/cavium/zip/zip_deflate.c -index 9a944b8c1e29..d7133f857d67 100644 ---- a/drivers/crypto/cavium/zip/zip_deflate.c -+++ b/drivers/crypto/cavium/zip/zip_deflate.c -@@ -129,8 +129,8 @@ int zip_deflate(struct zip_operation *zip_ops, struct zip_state *s, - /* Stats update for compression requests submitted */ - atomic64_inc(&zip_dev->stats.comp_req_submit); - -- while (!result_ptr->s.compcode) -- continue; -+ /* Wait for completion or error */ -+ zip_poll_result(result_ptr); - - /* Stats update for compression requests completed */ - atomic64_inc(&zip_dev->stats.comp_req_complete); -diff --git a/drivers/crypto/cavium/zip/zip_inflate.c b/drivers/crypto/cavium/zip/zip_inflate.c -index 50cbdd83dbf2..7e0d73e2f89e 100644 ---- a/drivers/crypto/cavium/zip/zip_inflate.c -+++ b/drivers/crypto/cavium/zip/zip_inflate.c -@@ -143,8 +143,8 @@ int zip_inflate(struct zip_operation *zip_ops, struct zip_state *s, - /* Decompression requests submitted stats update */ - atomic64_inc(&zip_dev->stats.decomp_req_submit); - -- while (!result_ptr->s.compcode) -- continue; -+ /* Wait for completion or error */ -+ zip_poll_result(result_ptr); - - /* Decompression requests completed stats update */ - atomic64_inc(&zip_dev->stats.decomp_req_complete); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-043-crypto-vmx-Remove-overly-verbose-printk-from-A.patch b/patches.kernel.org/4.17.2-043-crypto-vmx-Remove-overly-verbose-printk-from-A.patch deleted file mode 100644 index a52f637..0000000 --- a/patches.kernel.org/4.17.2-043-crypto-vmx-Remove-overly-verbose-printk-from-A.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Michael Ellerman -Date: Thu, 3 May 2018 22:29:29 +1000 -Subject: [PATCH] crypto: vmx - Remove overly verbose printk from AES init - routines -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 1411b5218adbcf1d45ddb260db5553c52e8d917c - -commit 1411b5218adbcf1d45ddb260db5553c52e8d917c upstream. - -In the vmx AES init routines we do a printk(KERN_INFO ...) to report -the fallback implementation we're using. - -However with a slow console this can significantly affect the speed of -crypto operations. Using 'cryptsetup benchmark' the removal of the -printk() leads to a ~5x speedup for aes-cbc decryption. - -So remove them. - -Fixes: 8676590a1593 ("crypto: vmx - Adding AES routines for VMX module") -Fixes: 8c755ace357c ("crypto: vmx - Adding CBC routines for VMX module") -Fixes: 4f7f60d312b3 ("crypto: vmx - Adding CTR routines for VMX module") -Fixes: cc333cd68dfa ("crypto: vmx - Adding GHASH routines for VMX module") -Cc: stable@vger.kernel.org # v4.1+ -Signed-off-by: Michael Ellerman -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/vmx/aes.c | 2 -- - drivers/crypto/vmx/aes_cbc.c | 3 --- - drivers/crypto/vmx/aes_ctr.c | 2 -- - drivers/crypto/vmx/ghash.c | 2 -- - 4 files changed, 9 deletions(-) - -diff --git a/drivers/crypto/vmx/aes.c b/drivers/crypto/vmx/aes.c -index 96072b9b55c4..d7316f7a3a69 100644 ---- a/drivers/crypto/vmx/aes.c -+++ b/drivers/crypto/vmx/aes.c -@@ -48,8 +48,6 @@ static int p8_aes_init(struct crypto_tfm *tfm) - alg, PTR_ERR(fallback)); - return PTR_ERR(fallback); - } -- printk(KERN_INFO "Using '%s' as fallback implementation.\n", -- crypto_tfm_alg_driver_name((struct crypto_tfm *) fallback)); - - crypto_cipher_set_flags(fallback, - crypto_cipher_get_flags((struct -diff --git a/drivers/crypto/vmx/aes_cbc.c b/drivers/crypto/vmx/aes_cbc.c -index 7394d35d5936..5285ece4f33a 100644 ---- a/drivers/crypto/vmx/aes_cbc.c -+++ b/drivers/crypto/vmx/aes_cbc.c -@@ -52,9 +52,6 @@ static int p8_aes_cbc_init(struct crypto_tfm *tfm) - alg, PTR_ERR(fallback)); - return PTR_ERR(fallback); - } -- printk(KERN_INFO "Using '%s' as fallback implementation.\n", -- crypto_skcipher_driver_name(fallback)); -- - - crypto_skcipher_set_flags( - fallback, -diff --git a/drivers/crypto/vmx/aes_ctr.c b/drivers/crypto/vmx/aes_ctr.c -index fc60d00a2e84..cd777c75291d 100644 ---- a/drivers/crypto/vmx/aes_ctr.c -+++ b/drivers/crypto/vmx/aes_ctr.c -@@ -50,8 +50,6 @@ static int p8_aes_ctr_init(struct crypto_tfm *tfm) - alg, PTR_ERR(fallback)); - return PTR_ERR(fallback); - } -- printk(KERN_INFO "Using '%s' as fallback implementation.\n", -- crypto_skcipher_driver_name(fallback)); - - crypto_skcipher_set_flags( - fallback, -diff --git a/drivers/crypto/vmx/ghash.c b/drivers/crypto/vmx/ghash.c -index 27a94a119009..1c4b5b889fba 100644 ---- a/drivers/crypto/vmx/ghash.c -+++ b/drivers/crypto/vmx/ghash.c -@@ -64,8 +64,6 @@ static int p8_ghash_init_tfm(struct crypto_tfm *tfm) - alg, PTR_ERR(fallback)); - return PTR_ERR(fallback); - } -- printk(KERN_INFO "Using '%s' as fallback implementation.\n", -- crypto_tfm_alg_driver_name(crypto_shash_tfm(fallback))); - - crypto_shash_set_flags(fallback, - crypto_shash_get_flags((struct crypto_shash --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-044-crypto-vmx-Remove-overly-verbose-printk-from-A.patch b/patches.kernel.org/4.17.2-044-crypto-vmx-Remove-overly-verbose-printk-from-A.patch deleted file mode 100644 index 1d1398c..0000000 --- a/patches.kernel.org/4.17.2-044-crypto-vmx-Remove-overly-verbose-printk-from-A.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Michael Ellerman -Date: Thu, 3 May 2018 22:29:30 +1000 -Subject: [PATCH] crypto: vmx - Remove overly verbose printk from AES XTS init -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 730f23b66095a700e2f0786abda6bca011b31558 - -commit 730f23b66095a700e2f0786abda6bca011b31558 upstream. - -In p8_aes_xts_init() we do a printk(KERN_INFO ...) to report the -fallback implementation we're using. However with a slow console this -can significantly affect the speed of crypto operations. So remove it. - -Fixes: c07f5d3da643 ("crypto: vmx - Adding support for XTS") -Cc: stable@vger.kernel.org # v4.8+ -Signed-off-by: Michael Ellerman -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/vmx/aes_xts.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/crypto/vmx/aes_xts.c b/drivers/crypto/vmx/aes_xts.c -index 8cd6e62e4c90..8bd9aff0f55f 100644 ---- a/drivers/crypto/vmx/aes_xts.c -+++ b/drivers/crypto/vmx/aes_xts.c -@@ -53,8 +53,6 @@ static int p8_aes_xts_init(struct crypto_tfm *tfm) - alg, PTR_ERR(fallback)); - return PTR_ERR(fallback); - } -- printk(KERN_INFO "Using '%s' as fallback implementation.\n", -- crypto_skcipher_driver_name(fallback)); - - crypto_skcipher_set_flags( - fallback, --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-045-crypto-omap-sham-fix-memleak.patch b/patches.kernel.org/4.17.2-045-crypto-omap-sham-fix-memleak.patch deleted file mode 100644 index 4df95de..0000000 --- a/patches.kernel.org/4.17.2-045-crypto-omap-sham-fix-memleak.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Bin Liu -Date: Tue, 17 Apr 2018 14:53:13 -0500 -Subject: [PATCH] crypto: omap-sham - fix memleak -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 9dbc8a0328efa485a6f5b68b867f9f523a3fbeff - -commit 9dbc8a0328efa485a6f5b68b867f9f523a3fbeff upstream. - -Fixes: 8043bb1ae03cb ("crypto: omap-sham - convert driver logic to use sgs for data xmit") - -The memory pages freed in omap_sham_finish_req() were less than those -allocated in omap_sham_copy_sgs(). - -Cc: stable@vger.kernel.org -Signed-off-by: Bin Liu -Acked-by: Tero Kristo -Signed-off-by: Herbert Xu -Signed-off-by: Greg Kroah-Hartman -Signed-off-by: Jiri Slaby ---- - drivers/crypto/omap-sham.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c -index ad02aa63b519..d1a1c74fb56a 100644 ---- a/drivers/crypto/omap-sham.c -+++ b/drivers/crypto/omap-sham.c -@@ -1087,7 +1087,7 @@ static void omap_sham_finish_req(struct ahash_request *req, int err) - - if (test_bit(FLAGS_SGS_COPIED, &dd->flags)) - free_pages((unsigned long)sg_virt(ctx->sg), -- get_order(ctx->sg->length)); -+ get_order(ctx->sg->length + ctx->bufcnt)); - - if (test_bit(FLAGS_SGS_ALLOCED, &dd->flags)) - kfree(ctx->sg); --- -2.17.1 - diff --git a/patches.kernel.org/4.17.2-046-Linux-4.17.2.patch b/patches.kernel.org/4.17.2-046-Linux-4.17.2.patch deleted file mode 100644 index 73b32e5..0000000 --- a/patches.kernel.org/4.17.2-046-Linux-4.17.2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Greg Kroah-Hartman -Date: Sat, 16 Jun 2018 09:18:24 +0200 -Subject: [PATCH] Linux 4.17.2 -References: bnc#1012628 -Patch-mainline: 4.17.2 -Git-commit: 3816828a8cd06c5e0a0a9e0456013d61d979d975 - -Signed-off-by: Jiri Slaby ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index e551c9af6a06..f43cd522b175 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,7 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0 - VERSION = 4 - PATCHLEVEL = 17 --SUBLEVEL = 1 -+SUBLEVEL = 2 - EXTRAVERSION = - NAME = Merciless Moray - --- -2.17.1 - diff --git a/patches.suse/0005-x86-stacktrace-orc-mark-it-as-reliable.patch b/patches.suse/0005-x86-stacktrace-orc-mark-it-as-reliable.patch index 63f00c8..f3b28dd 100644 --- a/patches.suse/0005-x86-stacktrace-orc-mark-it-as-reliable.patch +++ b/patches.suse/0005-x86-stacktrace-orc-mark-it-as-reliable.patch @@ -16,17 +16,17 @@ Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org --- - arch/x86/Kconfig | 2 +- + arch/x86/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -172,7 +172,7 @@ config X86 +@@ -180,7 +180,7 @@ config X86 select HAVE_PERF_USER_STACK_DUMP select HAVE_RCU_TABLE_FREE select HAVE_REGS_AND_STACK_ACCESS_API - select HAVE_RELIABLE_STACKTRACE if X86_64 && UNWINDER_FRAME_POINTER && STACK_VALIDATION + select HAVE_RELIABLE_STACKTRACE if X86_64 && (UNWINDER_FRAME_POINTER || UNWINDER_ORC) && STACK_VALIDATION + select HAVE_STACKPROTECTOR if CC_HAS_SANE_STACKPROTECTOR select HAVE_STACK_VALIDATION if X86_64 - select HAVE_SYSCALL_TRACEPOINTS - select HAVE_UNSTABLE_SCHED_CLOCK + select HAVE_RSEQ diff --git a/patches.suse/Bluetooth-Apply-QCA-Rome-patches-for-some-ATH3021-modules b/patches.suse/Bluetooth-Apply-QCA-Rome-patches-for-some-ATH3021-modules deleted file mode 100644 index 4682115..0000000 --- a/patches.suse/Bluetooth-Apply-QCA-Rome-patches-for-some-ATH3021-modules +++ /dev/null @@ -1,142 +0,0 @@ -From 803cdb8ce584198cd45825822910cac7de6378cb Mon Sep 17 00:00:00 2001 -From: Takashi Iwai -Date: Mon, 21 May 2018 22:34:52 +0200 -Subject: [PATCH] Bluetooth: btusb: Apply QCA Rome patches for some ATH3012 models -Git-commit: 803cdb8ce584198cd45825822910cac7de6378cb -Patch-mainline: v4.18-rc1 -References: bsc#1082504 - -In commit f44cb4b19ed4 ("Bluetooth: btusb: Fix quirk for Atheros -1525/QCA6174") we tried to address the non-working Atheros BT devices -by changing the quirk from BTUSB_ATH3012 to BTUSB_QCA_ROME. This made -such devices working while it turned out to break other existing chips -with the very same USB ID, hence it was reverted afterwards. - -This is another attempt to tackle the issue. The essential point to -use BTUSB_QCA_ROME is to apply the btusb_setup_qca() and do RAM- -patching. And the previous attempt failed because btusb_setup_qca() -returns -ENODEV if the ROM version doesn't match with the expected -ones. For some devices that have already the "correct" ROM versions, -we may just skip the setup procedure and continue the rest. - -So, the first fix we'll need is to add a check of the ROM version in -the function to skip the setup if the ROM version looks already sane, -so that it can be applied for all ath devices. - -However, the world is a bit more complex than that simple solution. -Since BTUSB_ATH3012 quirk checks the bcdDevice and bails out when it's -0x0001 at the beginning of probing, so the device probe always aborts -here. - -In this patch, we add another check of ROM version again, and if the -device needs patching, the probe continues. For that, a slight -refactoring of btusb_qca_send_vendor_req() was required so that the -probe function can pass usb_device pointer directly before allocating -hci_dev stuff. - -Fixes: commit f44cb4b19ed4 ("Bluetooth: btusb: Fix quirk for Atheros 1525/QCA6174") -Bugzilla: http://bugzilla.opensuse.org/show_bug.cgi?id=1082504 -Tested-by: Ivan Levshin -Signed-off-by: Takashi Iwai -Signed-off-by: Marcel Holtmann - ---- - drivers/bluetooth/btusb.c | 32 +++++++++++++++++++++++++------- - 1 file changed, 25 insertions(+), 7 deletions(-) - -diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c -index 292b1ea066ca..84de6244ae66 100644 ---- a/drivers/bluetooth/btusb.c -+++ b/drivers/bluetooth/btusb.c -@@ -2502,11 +2502,9 @@ static const struct qca_device_info qca_devices_table[] = { - { 0x00000302, 28, 4, 18 }, /* Rome 3.2 */ - }; - --static int btusb_qca_send_vendor_req(struct hci_dev *hdev, u8 request, -+static int btusb_qca_send_vendor_req(struct usb_device *udev, u8 request, - void *data, u16 size) - { -- struct btusb_data *btdata = hci_get_drvdata(hdev); -- struct usb_device *udev = btdata->udev; - int pipe, err; - u8 *buf; - -@@ -2521,7 +2519,7 @@ static int btusb_qca_send_vendor_req(struct hci_dev *hdev, u8 request, - err = usb_control_msg(udev, pipe, request, USB_TYPE_VENDOR | USB_DIR_IN, - 0, 0, buf, size, USB_CTRL_SET_TIMEOUT); - if (err < 0) { -- bt_dev_err(hdev, "Failed to access otp area (%d)", err); -+ dev_err(&udev->dev, "Failed to access otp area (%d)", err); - goto done; - } - -@@ -2671,20 +2669,38 @@ static int btusb_setup_qca_load_nvm(struct hci_dev *hdev, - return err; - } - -+/* identify the ROM version and check whether patches are needed */ -+static bool btusb_qca_need_patch(struct usb_device *udev) -+{ -+ struct qca_version ver; -+ -+ if (btusb_qca_send_vendor_req(udev, QCA_GET_TARGET_VERSION, &ver, -+ sizeof(ver)) < 0) -+ return false; -+ /* only low ROM versions need patches */ -+ return !(le32_to_cpu(ver.rom_version) & ~0xffffU); -+} -+ - static int btusb_setup_qca(struct hci_dev *hdev) - { -+ struct btusb_data *btdata = hci_get_drvdata(hdev); -+ struct usb_device *udev = btdata->udev; - const struct qca_device_info *info = NULL; - struct qca_version ver; - u32 ver_rom; - u8 status; - int i, err; - -- err = btusb_qca_send_vendor_req(hdev, QCA_GET_TARGET_VERSION, &ver, -+ err = btusb_qca_send_vendor_req(udev, QCA_GET_TARGET_VERSION, &ver, - sizeof(ver)); - if (err < 0) - return err; - - ver_rom = le32_to_cpu(ver.rom_version); -+ /* Don't care about high ROM versions */ -+ if (ver_rom & ~0xffffU) -+ return 0; -+ - for (i = 0; i < ARRAY_SIZE(qca_devices_table); i++) { - if (ver_rom == qca_devices_table[i].rom_version) - info = &qca_devices_table[i]; -@@ -2694,7 +2710,7 @@ static int btusb_setup_qca(struct hci_dev *hdev) - return -ENODEV; - } - -- err = btusb_qca_send_vendor_req(hdev, QCA_CHECK_STATUS, &status, -+ err = btusb_qca_send_vendor_req(udev, QCA_CHECK_STATUS, &status, - sizeof(status)); - if (err < 0) - return err; -@@ -2908,7 +2924,8 @@ static int btusb_probe(struct usb_interface *intf, - /* Old firmware would otherwise let ath3k driver load - * patch and sysconfig files - */ -- if (le16_to_cpu(udev->descriptor.bcdDevice) <= 0x0001) -+ if (le16_to_cpu(udev->descriptor.bcdDevice) <= 0x0001 && -+ !btusb_qca_need_patch(udev)) - return -ENODEV; - } - -@@ -3070,6 +3087,7 @@ static int btusb_probe(struct usb_interface *intf, - } - - if (id->driver_info & BTUSB_ATH3012) { -+ data->setup_on_usb = btusb_setup_qca; - hdev->set_bdaddr = btusb_set_bdaddr_ath3012; - set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); - set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); --- -2.17.0 - diff --git a/patches.suse/HID-redragon-Fix-modifier-keys-for-Redragon-Asura-Ke.patch b/patches.suse/HID-redragon-Fix-modifier-keys-for-Redragon-Asura-Ke.patch deleted file mode 100644 index 6f0f1b3..0000000 --- a/patches.suse/HID-redragon-Fix-modifier-keys-for-Redragon-Asura-Ke.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 85455dd906d568d5a42d9365938fbf82e932e2b8 Mon Sep 17 00:00:00 2001 -From: Robert Munteanu -Date: Tue, 17 Apr 2018 00:38:24 +0300 -Subject: [PATCH] HID: redragon: Fix modifier keys for Redragon Asura Keyboard - -References: https://build.opensuse.org/request/show/597583 -Patch-mainline: queued -Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git -Git-commit: 85455dd906d568d5a42d9365938fbf82e932e2b8 - -This adds a new driver for the Redragon Asura keyboard. The Asura -keyboard contains an error in the HID descriptor which causes all -modifier keys to be mapped to left shift. Additionally, we suppress -the creation of a second, not working, keyboard device. - -Signed-off-by: Robert Munteanu -Reviewed-by: Benjamin Tissoires -Signed-off-by: Jiri Kosina ---- - drivers/hid/Kconfig | 7 ++++ - drivers/hid/Makefile | 1 + - drivers/hid/hid-ids.h | 1 + - drivers/hid/hid-redragon.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 95 insertions(+) - create mode 100644 drivers/hid/hid-redragon.c - -diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig -index 60252fd796f6..c486bae2d532 100644 ---- a/drivers/hid/Kconfig -+++ b/drivers/hid/Kconfig -@@ -574,6 +574,13 @@ config HID_MAYFLASH - Say Y here if you have HJZ Mayflash PS3 game controller adapters - and want to enable force feedback support. - -+config HID_REDRAGON -+ tristate "Redragon keyboards" -+ depends on HID -+ default !EXPERT -+ ---help--- -+ Support for Redragon keyboards that need fix-ups to work properly. -+ - config HID_MICROSOFT - tristate "Microsoft non-fully HID-compliant devices" - depends on HID -diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile -index 17a8bd97da9d..3283c79b50a8 100644 ---- a/drivers/hid/Makefile -+++ b/drivers/hid/Makefile -@@ -86,6 +86,7 @@ hid-picolcd-$(CONFIG_DEBUG_FS) += hid-picolcd_debugfs.o - - obj-$(CONFIG_HID_PLANTRONICS) += hid-plantronics.o - obj-$(CONFIG_HID_PRIMAX) += hid-primax.o -+obj-$(CONFIG_HID_REDRAGON) += hid-redragon.o - obj-$(CONFIG_HID_RETRODE) += hid-retrode.o - obj-$(CONFIG_HID_ROCCAT) += hid-roccat.o hid-roccat-common.o \ - hid-roccat-arvo.o hid-roccat-isku.o hid-roccat-kone.o \ -diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h -index 5a3a7ead3012..07e31461690b 100644 ---- a/drivers/hid/hid-ids.h -+++ b/drivers/hid/hid-ids.h -@@ -605,6 +605,7 @@ - #define USB_VENDOR_ID_JESS 0x0c45 - #define USB_DEVICE_ID_JESS_YUREX 0x1010 - #define USB_DEVICE_ID_ASUS_MD_5112 0x5112 -+#define USB_DEVICE_ID_REDRAGON_ASURA 0x760b - - #define USB_VENDOR_ID_JESS2 0x0f30 - #define USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD 0x0111 -diff --git a/drivers/hid/hid-redragon.c b/drivers/hid/hid-redragon.c -new file mode 100644 -index 000000000000..daf59578bf93 ---- /dev/null -+++ b/drivers/hid/hid-redragon.c -@@ -0,0 +1,86 @@ -+/* -+ * HID driver for Redragon keyboards -+ * -+ * Copyright (c) 2017 Robert Munteanu -+ * SPDX-License-Identifier: GPL-2.0+ -+ */ -+ -+/* -+ * This program is free software; you can redistribute it and/or modify it -+ * under the terms of the GNU General Public License as published by the Free -+ * Software Foundation; either version 2 of the License, or (at your option) -+ * any later version. -+ */ -+ -+#include -+#include -+#include -+ -+#include "hid-ids.h" -+ -+ -+/* -+ * The Redragon Asura keyboard sends an incorrect HID descriptor. -+ * At byte 100 it contains -+ * -+ * 0x81, 0x00 -+ * -+ * which is Input (Data, Arr, Abs), but it should be -+ * -+ * 0x81, 0x02 -+ * -+ * which is Input (Data, Var, Abs), which is consistent with the way -+ * key codes are generated. -+ */ -+ -+static __u8 *redragon_report_fixup(struct hid_device *hdev, __u8 *rdesc, -+ unsigned int *rsize) -+{ -+ if (*rsize >= 102 && rdesc[100] == 0x81 && rdesc[101] == 0x00) { -+ dev_info(&hdev->dev, "Fixing Redragon ASURA report descriptor.\n"); -+ rdesc[101] = 0x02; -+ } -+ -+ return rdesc; -+} -+ -+static int redragon_probe(struct hid_device *dev, -+ const struct hid_device_id *id) -+{ -+ int ret; -+ -+ ret = hid_parse(dev); -+ if (ret) { -+ hid_err(dev, "parse failed\n"); -+ return ret; -+ } -+ -+ /* do not register unused input device */ -+ if (dev->maxapplication == 1) -+ return 0; -+ -+ ret = hid_hw_start(dev, HID_CONNECT_DEFAULT); -+ if (ret) { -+ hid_err(dev, "hw start failed\n"); -+ return ret; -+ } -+ -+ return 0; -+} -+static const struct hid_device_id redragon_devices[] = { -+ {HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_REDRAGON_ASURA)}, -+ {} -+}; -+ -+MODULE_DEVICE_TABLE(hid, redragon_devices); -+ -+static struct hid_driver redragon_driver = { -+ .name = "redragon", -+ .id_table = redragon_devices, -+ .report_fixup = redragon_report_fixup, -+ .probe = redragon_probe -+}; -+ -+module_hid_driver(redragon_driver); -+ -+MODULE_LICENSE("GPL"); --- -2.13.6 - diff --git a/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch b/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch index 31f658a..80185d2 100644 --- a/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch +++ b/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch @@ -18,11 +18,9 @@ fdmanana: fix for running qgroup sanity tests fs/btrfs/super.c | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) -diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h -index 643c70d2b2e6..fef9af9038f8 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h -@@ -1230,11 +1230,8 @@ struct btrfs_root { +@@ -1234,11 +1234,8 @@ struct btrfs_root { * protected by inode_lock */ struct radix_tree_root delayed_nodes_tree; @@ -36,11 +34,9 @@ index 643c70d2b2e6..fef9af9038f8 100644 spinlock_t root_item_lock; refcount_t refs; -diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c -index 8685d67185d0..eb5caf88f4a3 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c -@@ -1358,9 +1358,9 @@ static void __setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info, +@@ -1230,9 +1230,9 @@ static void __setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info, else root->defrag_trans_start = 0; root->root_key.objectid = objectid; @@ -51,7 +47,7 @@ index 8685d67185d0..eb5caf88f4a3 100644 } static struct btrfs_root *btrfs_alloc_root(struct btrfs_fs_info *fs_info, -@@ -1653,7 +1653,7 @@ int btrfs_init_fs_root(struct btrfs_root *root) +@@ -1528,7 +1528,7 @@ int btrfs_init_fs_root(struct btrfs_root *root) spin_lock_init(&root->ino_cache_lock); init_waitqueue_head(&root->ino_cache_wait); @@ -60,21 +56,19 @@ index 8685d67185d0..eb5caf88f4a3 100644 if (ret) goto fail; -@@ -3808,8 +3808,7 @@ static void free_fs_root(struct btrfs_root *root) +@@ -3882,8 +3882,7 @@ static void free_fs_root(struct btrfs_root *root) + { + iput(root->ino_cache_inode); WARN_ON(!RB_EMPTY_ROOT(&root->inode_tree)); - btrfs_free_block_rsv(root->fs_info, root->orphan_block_rsv); - root->orphan_block_rsv = NULL; - if (root->anon_dev) - free_anon_bdev(root->anon_dev); + remove_anon_sbdev(&root->sbdev); if (root->subv_writers) btrfs_free_subvolume_writers(root->subv_writers); free_extent_buffer(root->node); -diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c -index 17cbe9306faf..a514cd7a5f3d 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c -@@ -9566,7 +9566,7 @@ static int btrfs_getattr(const struct path *path, struct kstat *stat, +@@ -9416,7 +9416,7 @@ static int btrfs_getattr(const struct path *path, struct kstat *stat, STATX_ATTR_NODUMP); generic_fillattr(inode, stat); @@ -83,11 +77,9 @@ index 17cbe9306faf..a514cd7a5f3d 100644 spin_lock(&BTRFS_I(inode)->lock); delalloc_bytes = BTRFS_I(inode)->new_delalloc_bytes; -diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c -index a369e57e06d2..52000b892c0a 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c -@@ -2303,7 +2303,7 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root) +@@ -2326,7 +2326,7 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root) static dev_t btrfs_get_inode_dev(const struct inode *inode) { @@ -96,6 +88,3 @@ index a369e57e06d2..52000b892c0a 100644 } static const struct super_operations btrfs_super_ops = { --- -2.13.0 - diff --git a/patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch b/patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch index bed8b9a..1304931 100644 --- a/patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch +++ b/patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch @@ -22,13 +22,13 @@ Update: 16 Feb 2017 jeffm Signed-off-by: Luis R. Rodriguez --- - fs/super.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++- - include/linux/fs.h | 20 +++++++++++++++++++ + fs/super.c | 57 +++++++++++++++++++++++++++++++++++++++++++++- + include/linux/fs.h | 20 ++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) --- a/fs/super.c +++ b/fs/super.c -@@ -138,6 +138,59 @@ static unsigned long super_cache_count(struct shrinker *shrink, +@@ -148,6 +148,59 @@ static unsigned long super_cache_count(struct shrinker *shrink, return total_objects; } @@ -88,7 +88,7 @@ Signed-off-by: Luis R. Rodriguez static void destroy_super_work(struct work_struct *work) { struct super_block *s = container_of(work, struct super_block, -@@ -165,6 +218,7 @@ static void destroy_unused_super(struct super_block *s) +@@ -175,6 +228,7 @@ static void destroy_unused_super(struct super_block *s) list_lru_destroy(&s->s_dentry_lru); list_lru_destroy(&s->s_inode_lru); security_sb_free(s); @@ -96,7 +96,7 @@ Signed-off-by: Luis R. Rodriguez put_user_ns(s->s_user_ns); kfree(s->s_subtype); free_prealloced_shrinker(&s->s_shrink); -@@ -233,6 +287,7 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, +@@ -243,6 +297,7 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, spin_lock_init(&s->s_inode_list_lock); INIT_LIST_HEAD(&s->s_inodes_wb); spin_lock_init(&s->s_inode_wblist_lock); @@ -104,7 +104,7 @@ Signed-off-by: Luis R. Rodriguez if (list_lru_init_memcg(&s->s_dentry_lru)) goto fail; -@@ -802,7 +857,7 @@ struct super_block *user_get_super(dev_t dev) +@@ -812,7 +867,7 @@ struct super_block *user_get_super(dev_t dev) list_for_each_entry(sb, &super_blocks, s_list) { if (hlist_unhashed(&sb->s_instances)) continue; @@ -132,13 +132,13 @@ Signed-off-by: Luis R. Rodriguez dev_t s_dev; /* search index; _not_ kdev_t */ @@ -1368,6 +1376,7 @@ struct super_block { const struct fscrypt_operations *s_cop; - + #endif struct hlist_bl_head s_roots; /* alternate root dentries for NFS */ + struct list_head s_sbdevs; /* internal fs dev_t */ struct list_head s_mounts; /* list of mounts; _not_ for fs use */ struct block_device *s_bdev; struct backing_dev_info *s_bdi; -@@ -2132,6 +2141,17 @@ void deactivate_locked_super(struct super_block *sb); +@@ -2139,6 +2148,17 @@ void deactivate_locked_super(struct super_block *sb); int set_anon_super(struct super_block *s, void *data); int get_anon_bdev(dev_t *); void free_anon_bdev(dev_t); diff --git a/patches.suse/crasher.patch b/patches.suse/crasher.patch index 4ff1b11..136dc25 100644 --- a/patches.suse/crasher.patch +++ b/patches.suse/crasher.patch @@ -23,7 +23,7 @@ Signed-off-by: Jiri Slaby --- drivers/char/Kconfig | 6 ++ drivers/char/Makefile | 1 + - drivers/char/crasher.c | 235 +++++++++++++++++++++++++++++++++++++++++++++++++ + drivers/char/crasher.c | 235 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 242 insertions(+) create mode 100644 drivers/char/crasher.c @@ -41,7 +41,7 @@ Signed-off-by: Jiri Slaby + source "drivers/char/xillybus/Kconfig" - endmenu + config ADI --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -49,6 +49,7 @@ obj-$(CONFIG_PCMCIA) += pcmcia/ diff --git a/patches.suse/genksyms-add-override-flag.diff b/patches.suse/genksyms-add-override-flag.diff index 5e3d8dc..77ef5b5 100644 --- a/patches.suse/genksyms-add-override-flag.diff +++ b/patches.suse/genksyms-add-override-flag.diff @@ -9,14 +9,14 @@ but it doesn't abort the build if a symtype cannot be preserved [mmarek: added KBUILD_OVERRIDE env var to set this globally for the entire build] --- - scripts/Makefile.build | 1 + - scripts/genksyms/genksyms.c | 21 +++++++++++++++------ + scripts/Makefile.build | 1 + + scripts/genksyms/genksyms.c | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -166,6 +166,7 @@ cmd_gensymtypes_c = - $(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX)) \ +@@ -149,6 +149,7 @@ cmd_gensymtypes_c = \ + $(GENKSYMS) $(if $(1), -T $(2)) \ $(patsubst y,-R,$(CONFIG_MODULE_REL_CRCS)) \ $(if $(KBUILD_PRESERVE),-p) \ + $(if $(KBUILD_OVERRIDE),-o) \ @@ -31,10 +31,10 @@ but it doesn't abort the build if a symtype cannot be preserved static int flag_debug, flag_dump_defs, flag_reference, flag_dump_types, - flag_preserve, flag_warnings, flag_rel_crcs; + flag_override, flag_preserve, flag_warnings, flag_rel_crcs; - static const char *mod_prefix = ""; static int errors; -@@ -255,7 +255,7 @@ static struct symbol *__add_symbol(const + static int nsyms; +@@ -254,7 +254,7 @@ static struct symbol *__add_symbol(const char *name, enum symbol_type type, sym->is_declared = 1; return sym; } else if (!sym->is_declared) { @@ -43,7 +43,7 @@ but it doesn't abort the build if a symtype cannot be preserved print_location(); fprintf(stderr, "ignoring "); print_type_name(type, name); -@@ -668,11 +668,13 @@ void export_symbol(const char *name) +@@ -667,11 +667,13 @@ void export_symbol(const char *name) struct symbol *n = sym->expansion_trail; if (sym->status != STATUS_UNCHANGED) { @@ -58,7 +58,7 @@ but it doesn't abort the build if a symtype cannot be preserved "warning", name); } else fprintf(stderr, ", "); -@@ -680,7 +682,7 @@ void export_symbol(const char *name) +@@ -679,7 +681,7 @@ void export_symbol(const char *name) if (sym->status == STATUS_DEFINED) fprintf(stderr, " (became defined)"); has_changed = 1; @@ -67,7 +67,7 @@ but it doesn't abort the build if a symtype cannot be preserved errors++; } sym->expansion_trail = 0; -@@ -740,6 +742,7 @@ static void genksyms_usage(void) +@@ -739,6 +741,7 @@ static void genksyms_usage(void) " -D, --dump Dump expanded symbol defs (for debugging only)\n" " -r, --reference file Read reference symbols from a file\n" " -T, --dump-types file Dump expanded types into file\n" @@ -75,7 +75,7 @@ but it doesn't abort the build if a symtype cannot be preserved " -p, --preserve Preserve reference modversions or fail\n" " -w, --warnings Enable warnings\n" " -q, --quiet Disable warnings (default)\n" -@@ -752,6 +755,7 @@ static void genksyms_usage(void) +@@ -751,6 +754,7 @@ static void genksyms_usage(void) " -D Dump expanded symbol defs (for debugging only)\n" " -r file Read reference symbols from a file\n" " -T file Dump expanded types into file\n" @@ -83,7 +83,7 @@ but it doesn't abort the build if a symtype cannot be preserved " -p Preserve reference modversions or fail\n" " -w Enable warnings\n" " -q Disable warnings (default)\n" -@@ -777,16 +781,17 @@ int main(int argc, char **argv) +@@ -775,16 +779,17 @@ int main(int argc, char **argv) {"reference", 1, 0, 'r'}, {"dump-types", 1, 0, 'T'}, {"preserve", 0, 0, 'p'}, @@ -102,8 +102,8 @@ but it doesn't abort the build if a symtype cannot be preserved + while ((o = getopt(argc, argv, "s:dwqVDr:T:ophR")) != EOF) #endif /* __GNU_LIBRARY__ */ switch (o) { - case 's': -@@ -823,7 +828,11 @@ int main(int argc, char **argv) + case 'd': +@@ -818,7 +823,11 @@ int main(int argc, char **argv) return 1; } break; diff --git a/patches.suse/kernel-add-product-identifying-information-to-kernel-build.patch b/patches.suse/kernel-add-product-identifying-information-to-kernel-build.patch index 03812fe..9e779f2 100644 --- a/patches.suse/kernel-add-product-identifying-information-to-kernel-build.patch +++ b/patches.suse/kernel-add-product-identifying-information-to-kernel-build.patch @@ -36,17 +36,17 @@ system faults. Signed-off-by: Jeff Mahoney --- - Makefile | 11 +++++- - init/Kconfig.suse | 70 +++++++++++++++++++++++++++++++++++++ - lib/dump_stack.c | 5 +-- - scripts/gen-suse_version_h.sh | 81 +++++++++++++++++++++++++++++++++++++++++++ - scripts/mod/modpost.c | 10 ++++++ + Makefile | 11 ++++- + init/Kconfig.suse | 70 ++++++++++++++++++++++++++++++ + lib/dump_stack.c | 5 ++- + scripts/gen-suse_version_h.sh | 81 +++++++++++++++++++++++++++++++++++ + scripts/mod/modpost.c | 10 +++++ 5 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 scripts/gen-suse_version_h.sh --- a/Makefile +++ b/Makefile -@@ -978,6 +978,15 @@ ifdef CONFIG_STACK_VALIDATION +@@ -952,6 +952,15 @@ ifdef CONFIG_STACK_VALIDATION endif endif @@ -62,8 +62,8 @@ Signed-off-by: Jeff Mahoney ifeq ($(KBUILD_EXTMOD),) core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/ -@@ -1108,7 +1117,7 @@ endif - prepare2: prepare3 prepare-compiler-check outputmakefile asm-generic +@@ -1082,7 +1091,7 @@ endif + prepare2: prepare3 outputmakefile asm-generic prepare1: prepare2 $(version_h) $(autoksyms_h) include/generated/utsrelease.h \ - include/config/auto.conf @@ -266,15 +266,15 @@ Signed-off-by: Jeff Mahoney +END --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -23,6 +23,7 @@ - #include "../../include/generated/autoconf.h" +@@ -21,6 +21,7 @@ + #include + #include "modpost.h" #include "../../include/linux/license.h" - #include "../../include/linux/export.h" +#include "../../include/generated/uapi/linux/suse_version.h" /* Are we using CONFIG_MODVERSIONS? */ static int modversions = 0; -@@ -2386,6 +2387,14 @@ static void add_srcversion(struct buffer *b, struct module *mod) +@@ -2371,6 +2372,14 @@ static void add_srcversion(struct buffer *b, struct module *mod) } } @@ -289,7 +289,7 @@ Signed-off-by: Jeff Mahoney static void write_if_changed(struct buffer *b, const char *fname) { char *tmp; -@@ -2646,6 +2655,7 @@ int main(int argc, char **argv) +@@ -2631,6 +2640,7 @@ int main(int argc, char **argv) add_depends(&buf, mod, modules); add_moddevtable(&buf, mod); add_srcversion(&buf, mod); diff --git a/patches.suse/mtd-spi-nor-intel-spi-Fix-atomic-sequence-handling b/patches.suse/mtd-spi-nor-intel-spi-Fix-atomic-sequence-handling deleted file mode 100644 index 0ec1815..0000000 --- a/patches.suse/mtd-spi-nor-intel-spi-Fix-atomic-sequence-handling +++ /dev/null @@ -1,205 +0,0 @@ -From c7d6a82d90e193b1e4daba957e3908f26306d491 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Mon, 5 Feb 2018 14:32:59 +0300 -Subject: [PATCH] mtd: spi-nor: intel-spi: Fix atomic sequence handling -Git-commit: c7d6a82d90e193b1e4daba957e3908f26306d491 -Git-repo: git://git.infradead.org/linux-mtd.git -Patch-mainline: Queued in subsystem maintainer repo -References: bsc#1073836 - -On many older systems using SW sequencer the PREOP_OPTYPE register -contains two preopcodes as following: - - PREOP_OPTYPE=0xf2785006 - -The last two bytes are the opcodes decoded to: - - 0x50 - Write enable for volatile status register - 0x06 - Write enable - -The former is used to modify volatile bits in the status register. For -non-volatile bits the latter is needed. Preopcodes are used in SW -sequencer to send one command "atomically" without anything else -interfering the transfer. The sequence that gets executed is: - - - Send preopcode (write enable) from PREOP_OPTYPE register - - Send the actual SPI command - - Poll busy bit in the status register (0x05, RDSR) - -Commit 8c473dd61bb5 ("spi-nor: intel-spi: Don't assume OPMENU0/1 to be -programmed by BIOS") enabled atomic sequence handling but because both -preopcodes are programmed, the following happens: - - if (preop >> 8) - val |= SSFSTS_CTL_SPOP; - -Since on these systems preop >> 8 == 0x50 we end up picking volatile -write enable instead. Because of this the actual write command is pretty -much NOP unless there is a WREN latched in the chip already. - -Furthermore we should not really just assume that WREN was issued in -previous call to intel_spi_write_reg() because that might not be the -case. - -This updates driver to first check that the opcode is actually available -in PREOP_OPTYPE register and if not return error back to the spi-nor -core (if the controller is not locked we program it now). In addition we -save the opcode to ispi->atomic_preopcode field which is checked in next -call to intel_spi_sw_cycle() to actually enable atomic sequence using -the requested preopcode. - -Fixes: 8c473dd61bb5 ("spi-nor: intel-spi: Don't assume OPMENU0/1 to be programmed by BIOS") -Signed-off-by: Mika Westerberg -Cc: stable@vger.kernel.org -Reviewed-by: Marek Vasut -Signed-off-by: Boris Brezillon -Acked-by: Takashi Iwai - ---- - drivers/mtd/spi-nor/intel-spi.c | 76 +++++++++++++++++++++++++++++++++++----- - 1 file changed, 67 insertions(+), 9 deletions(-) - ---- a/drivers/mtd/spi-nor/intel-spi.c -+++ b/drivers/mtd/spi-nor/intel-spi.c -@@ -136,6 +136,7 @@ - * @swseq_reg: Use SW sequencer in register reads/writes - * @swseq_erase: Use SW sequencer in erase operation - * @erase_64k: 64k erase supported -+ * @atomic_preopcode: Holds preopcode when atomic sequence is requested - * @opcodes: Opcodes which are supported. This are programmed by BIOS - * before it locks down the controller. - */ -@@ -153,6 +154,7 @@ struct intel_spi { - bool swseq_reg; - bool swseq_erase; - bool erase_64k; -+ u8 atomic_preopcode; - u8 opcodes[8]; - }; - -@@ -474,7 +476,7 @@ static int intel_spi_sw_cycle(struct int - int optype) - { - u32 val = 0, status; -- u16 preop; -+ u8 atomic_preopcode; - int ret; - - ret = intel_spi_opcode_index(ispi, opcode, optype); -@@ -484,17 +486,42 @@ static int intel_spi_sw_cycle(struct int - if (len > INTEL_SPI_FIFO_SZ) - return -EINVAL; - -+ /* -+ * Always clear it after each SW sequencer operation regardless -+ * of whether it is successful or not. -+ */ -+ atomic_preopcode = ispi->atomic_preopcode; -+ ispi->atomic_preopcode = 0; -+ - /* Only mark 'Data Cycle' bit when there is data to be transferred */ - if (len > 0) - val = ((len - 1) << SSFSTS_CTL_DBC_SHIFT) | SSFSTS_CTL_DS; - val |= ret << SSFSTS_CTL_COP_SHIFT; - val |= SSFSTS_CTL_FCERR | SSFSTS_CTL_FDONE; - val |= SSFSTS_CTL_SCGO; -- preop = readw(ispi->sregs + PREOP_OPTYPE); -- if (preop) { -- val |= SSFSTS_CTL_ACS; -- if (preop >> 8) -- val |= SSFSTS_CTL_SPOP; -+ if (atomic_preopcode) { -+ u16 preop; -+ -+ switch (optype) { -+ case OPTYPE_WRITE_NO_ADDR: -+ case OPTYPE_WRITE_WITH_ADDR: -+ /* Pick matching preopcode for the atomic sequence */ -+ preop = readw(ispi->sregs + PREOP_OPTYPE); -+ if ((preop & 0xff) == atomic_preopcode) -+ ; /* Do nothing */ -+ else if ((preop >> 8) == atomic_preopcode) -+ val |= SSFSTS_CTL_SPOP; -+ else -+ return -EINVAL; -+ -+ /* Enable atomic sequence */ -+ val |= SSFSTS_CTL_ACS; -+ break; -+ -+ default: -+ return -EINVAL; -+ } -+ - } - writel(val, ispi->sregs + SSFSTS_CTL); - -@@ -538,13 +565,31 @@ static int intel_spi_write_reg(struct sp - - /* - * This is handled with atomic operation and preop code in Intel -- * controller so skip it here now. If the controller is not locked, -- * program the opcode to the PREOP register for later use. -+ * controller so we only verify that it is available. If the -+ * controller is not locked, program the opcode to the PREOP -+ * register for later use. -+ * -+ * When hardware sequencer is used there is no need to program -+ * any opcodes (it handles them automatically as part of a command). - */ - if (opcode == SPINOR_OP_WREN) { -- if (!ispi->locked) -+ u16 preop; -+ -+ if (!ispi->swseq_reg) -+ return 0; -+ -+ preop = readw(ispi->sregs + PREOP_OPTYPE); -+ if ((preop & 0xff) != opcode && (preop >> 8) != opcode) { -+ if (ispi->locked) -+ return -EINVAL; - writel(opcode, ispi->sregs + PREOP_OPTYPE); -+ } - -+ /* -+ * This enables atomic sequence on next SW sycle. Will -+ * be cleared after next operation. -+ */ -+ ispi->atomic_preopcode = opcode; - return 0; - } - -@@ -569,6 +614,13 @@ static ssize_t intel_spi_read(struct spi - u32 val, status; - ssize_t ret; - -+ /* -+ * Atomic sequence is not expected with HW sequencer reads. Make -+ * sure it is cleared regardless. -+ */ -+ if (WARN_ON_ONCE(ispi->atomic_preopcode)) -+ ispi->atomic_preopcode = 0; -+ - switch (nor->read_opcode) { - case SPINOR_OP_READ: - case SPINOR_OP_READ_FAST: -@@ -627,6 +679,9 @@ static ssize_t intel_spi_write(struct sp - u32 val, status; - ssize_t ret; - -+ /* Not needed with HW sequencer write, make sure it is cleared */ -+ ispi->atomic_preopcode = 0; -+ - while (len > 0) { - block_size = min_t(size_t, len, INTEL_SPI_FIFO_SZ); - -@@ -707,6 +762,9 @@ static int intel_spi_erase(struct spi_no - return 0; - } - -+ /* Not needed with HW sequencer erase, make sure it is cleared */ -+ ispi->atomic_preopcode = 0; -+ - while (len > 0) { - writel(offs, ispi->base + FADDR); - diff --git a/patches.suse/rpm-kernel-config b/patches.suse/rpm-kernel-config index 4b8fc77..d21cf24 100644 --- a/patches.suse/rpm-kernel-config +++ b/patches.suse/rpm-kernel-config @@ -14,10 +14,10 @@ Signed-off-by: Andreas Gruenbacher --- a/Kconfig +++ b/Kconfig -@@ -9,3 +9,4 @@ config SRCARCH - option env="SRCARCH" +@@ -10,3 +10,4 @@ comment "Compiler: $(CC_VERSION_TEXT)" + source "scripts/Kconfig.include" - source "arch/$SRCARCH/Kconfig" + source "arch/$(SRCARCH)/Kconfig" +source "init/Kconfig.suse" --- /dev/null +++ b/init/Kconfig.suse diff --git a/patches.suse/socket-close-race-condition-between-sock_close-and-s.patch b/patches.suse/socket-close-race-condition-between-sock_close-and-s.patch deleted file mode 100644 index 0feef1d..0000000 --- a/patches.suse/socket-close-race-condition-between-sock_close-and-s.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Cong Wang -Date: Thu, 7 Jun 2018 13:39:49 -0700 -Subject: socket: close race condition between sock_close() and sockfs_setattr() -Patch-mainline: v4.18-rc1 -Git-commit: 6d8c50dcb029872b298eea68cc6209c866fd3e14 -References: CVE-2018-12232 bsc#1097593 - -fchownat() doesn't even hold refcnt of fd until it figures out -fd is really needed (otherwise is ignored) and releases it after -it resolves the path. This means sock_close() could race with -sockfs_setattr(), which leads to a NULL pointer dereference -since typically we set sock->sk to NULL in ->release(). - -As pointed out by Al, this is unique to sockfs. So we can fix this -in socket layer by acquiring inode_lock in sock_close() and -checking against NULL in sockfs_setattr(). - -sock_release() is called in many places, only the sock_close() -path matters here. And fortunately, this should not affect normal -sock_close() as it is only called when the last fd refcnt is gone. -It only affects sock_close() with a parallel sockfs_setattr() in -progress, which is not common. - -Fixes: 86741ec25462 ("net: core: Add a UID field to struct sock.") -Reported-by: shankarapailoor -Cc: Tetsuo Handa -Cc: Lorenzo Colitti -Cc: Al Viro -Signed-off-by: Cong Wang -Signed-off-by: David S. Miller -Acked-by: Michal Kubecek - ---- - net/socket.c | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - ---- a/net/socket.c -+++ b/net/socket.c -@@ -537,7 +537,10 @@ static int sockfs_setattr(struct dentry *dentry, struct iattr *iattr) - if (!err && (iattr->ia_valid & ATTR_UID)) { - struct socket *sock = SOCKET_I(d_inode(dentry)); - -- sock->sk->sk_uid = iattr->ia_uid; -+ if (sock->sk) -+ sock->sk->sk_uid = iattr->ia_uid; -+ else -+ err = -ENOENT; - } - - return err; -@@ -586,12 +589,16 @@ EXPORT_SYMBOL(sock_alloc); - * an inode not a file. - */ - --void sock_release(struct socket *sock) -+static void __sock_release(struct socket *sock, struct inode *inode) - { - if (sock->ops) { - struct module *owner = sock->ops->owner; - -+ if (inode) -+ inode_lock(inode); - sock->ops->release(sock); -+ if (inode) -+ inode_unlock(inode); - sock->ops = NULL; - module_put(owner); - } -@@ -605,6 +612,11 @@ void sock_release(struct socket *sock) - } - sock->file = NULL; - } -+ -+void sock_release(struct socket *sock) -+{ -+ __sock_release(sock, NULL); -+} - EXPORT_SYMBOL(sock_release); - - void __sock_tx_timestamp(__u16 tsflags, __u8 *tx_flags) -@@ -1146,7 +1158,7 @@ static int sock_mmap(struct file *file, struct vm_area_struct *vma) - - static int sock_close(struct inode *inode, struct file *filp) - { -- sock_release(SOCKET_I(inode)); -+ __sock_release(SOCKET_I(inode), inode); - return 0; - } - diff --git a/patches.suse/supported-flag b/patches.suse/supported-flag index c7c3b79..395d1fd 100644 --- a/patches.suse/supported-flag +++ b/patches.suse/supported-flag @@ -13,22 +13,22 @@ Changes: Signed-off-by: Andreas Gruenbacher --- - Documentation/admin-guide/kernel-parameters.txt | 8 ++ - Documentation/sysctl/kernel.txt | 12 +++ - Makefile | 5 + - include/linux/kernel.h | 3 - include/linux/module.h | 3 - init/Kconfig | 17 +++++ - kernel/ksysfs.c | 27 ++++++++ - kernel/module.c | 80 ++++++++++++++++++++++++ - kernel/sysctl.c | 9 ++ - scripts/Makefile.modpost | 6 + - scripts/mod/modpost.c | 79 +++++++++++++++++++++++ - 11 files changed, 247 insertions(+), 2 deletions(-) + .../admin-guide/kernel-parameters.txt | 8 ++ + Documentation/sysctl/kernel.txt | 12 +++ + Makefile | 5 ++ + include/linux/kernel.h | 3 + + include/linux/module.h | 3 + + init/Kconfig.suse | 18 +++++ + kernel/ksysfs.c | 27 +++++++ + kernel/module.c | 80 +++++++++++++++++++ + kernel/sysctl.c | 9 +++ + scripts/Makefile.modpost | 6 +- + scripts/mod/modpost.c | 79 +++++++++++++++++- + 11 files changed, 248 insertions(+), 2 deletions(-) --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4355,6 +4355,14 @@ +@@ -4415,6 +4415,14 @@ unknown_nmi_panic [X86] Cause panic on unknown NMI. @@ -66,7 +66,7 @@ Signed-off-by: Andreas Gruenbacher --- a/Makefile +++ b/Makefile -@@ -432,6 +432,11 @@ KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds +@@ -429,6 +429,11 @@ KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds LDFLAGS := GCC_PLUGINS_CFLAGS := @@ -80,7 +80,7 @@ Signed-off-by: Andreas Gruenbacher export MAKE LEX YACC AWK GENKSYMS INSTALLKERNEL PERL PYTHON PYTHON2 PYTHON3 UTS_MACHINE --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -498,6 +498,9 @@ extern int panic_on_unrecovered_nmi; +@@ -499,6 +499,9 @@ extern int panic_on_unrecovered_nmi; extern int panic_on_io_nmi; extern int panic_on_warn; extern int sysctl_panic_on_rcu_stall; @@ -285,7 +285,7 @@ Signed-off-by: Andreas Gruenbacher out_unreg_modinfo_attrs: module_remove_modinfo_attrs(mod); out_unreg_param: -@@ -4370,6 +4447,9 @@ void print_modules(void) +@@ -4375,6 +4452,9 @@ void print_modules(void) if (last_unloaded_module[0]) pr_cont(" [last unloaded: %s]", last_unloaded_module); pr_cont("\n"); @@ -330,7 +330,7 @@ Signed-off-by: Andreas Gruenbacher --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1940,6 +1940,50 @@ static char *remove_dot(char *s) +@@ -1929,6 +1929,50 @@ static char *remove_dot(char *s) return s; } @@ -378,10 +378,10 @@ Signed-off-by: Andreas Gruenbacher +} +#endif + - static void read_symbols(char *modname) + static void read_symbols(const char *modname) { const char *symname; -@@ -2180,6 +2224,15 @@ static void add_staging_flag(struct buffer *b, const char *name) +@@ -2165,6 +2209,15 @@ static void add_staging_flag(struct buffer *b, const char *name) buf_printf(b, "\nMODULE_INFO(staging, \"Y\");\n"); } @@ -397,7 +397,7 @@ Signed-off-by: Andreas Gruenbacher /** * Record CRCs for unresolved symbols **/ -@@ -2327,6 +2380,15 @@ static void write_if_changed(struct buffer *b, const char *fname) +@@ -2312,6 +2365,15 @@ static void write_if_changed(struct buffer *b, const char *fname) fclose(file); } @@ -413,7 +413,7 @@ Signed-off-by: Andreas Gruenbacher /* parse Module.symvers file. line format: * 0x12345678symbolmodule[[export]something] **/ -@@ -2423,12 +2485,15 @@ int main(int argc, char **argv) +@@ -2408,12 +2470,15 @@ int main(int argc, char **argv) struct buffer buf = { }; char *kernel_read = NULL, *module_read = NULL; char *dump_write = NULL, *files_source = NULL; @@ -430,7 +430,7 @@ Signed-off-by: Andreas Gruenbacher switch (opt) { case 'i': kernel_read = optarg; -@@ -2472,11 +2537,20 @@ int main(int argc, char **argv) +@@ -2457,11 +2522,20 @@ int main(int argc, char **argv) case 'E': sec_mismatch_fatal = 1; break; @@ -451,7 +451,7 @@ Signed-off-by: Andreas Gruenbacher if (kernel_read) read_dump(kernel_read, 1); if (module_read) -@@ -2515,6 +2589,9 @@ int main(int argc, char **argv) +@@ -2500,6 +2574,9 @@ int main(int argc, char **argv) add_intree_flag(&buf, !external_module); add_retpoline(&buf); add_staging_flag(&buf, mod->name); diff --git a/patches.suse/vfs-add-super_operations-get_inode_dev b/patches.suse/vfs-add-super_operations-get_inode_dev index 652e91f..4887766 100644 --- a/patches.suse/vfs-add-super_operations-get_inode_dev +++ b/patches.suse/vfs-add-super_operations-get_inode_dev @@ -17,36 +17,32 @@ will not distinguish between subvolumes within a single btrfs filesystem. Signed-off-by: Jeff Mahoney --- - arch/arc/kernel/troubleshoot.c | 2 +- - drivers/staging/lustre/lustre/llite/dir.c | 2 +- - drivers/staging/lustre/lustre/llite/file.c | 2 +- - fs/locks.c | 4 ++-- - fs/nfsd/nfs3xdr.c | 2 +- - fs/nfsd/vfs.c | 6 +++--- - fs/notify/fdinfo.c | 4 ++-- - fs/proc/nommu.c | 2 +- - fs/proc/task_mmu.c | 2 +- - fs/proc/task_nommu.c | 2 +- - fs/stat.c | 2 +- - include/linux/fs.h | 9 +++++++++ - include/trace/events/filelock.h | 8 ++++---- - include/trace/events/filemap.h | 2 +- - include/trace/events/writeback.h | 2 +- - kernel/audit.c | 2 +- - kernel/audit_fsnotify.c | 2 +- - kernel/audit_watch.c | 6 +++--- - kernel/auditsc.c | 4 ++-- - kernel/events/core.c | 2 +- - mm/memory-failure.c | 2 +- - net/unix/diag.c | 2 +- - security/tomoyo/condition.c | 2 +- - 23 files changed, 41 insertions(+), 32 deletions(-) + arch/arc/kernel/troubleshoot.c | 2 +- + fs/locks.c | 4 ++-- + fs/nfsd/nfs3xdr.c | 2 +- + fs/nfsd/vfs.c | 6 +++--- + fs/notify/fdinfo.c | 4 ++-- + fs/proc/nommu.c | 2 +- + fs/proc/task_mmu.c | 2 +- + fs/proc/task_nommu.c | 2 +- + fs/stat.c | 2 +- + include/linux/fs.h | 9 +++++++++ + include/trace/events/filelock.h | 8 ++++---- + include/trace/events/filemap.h | 2 +- + include/trace/events/writeback.h | 2 +- + kernel/audit.c | 2 +- + kernel/audit_fsnotify.c | 2 +- + kernel/audit_watch.c | 6 +++--- + kernel/auditsc.c | 4 ++-- + kernel/events/core.c | 2 +- + mm/memory-failure.c | 2 +- + net/unix/diag.c | 2 +- + security/tomoyo/condition.c | 2 +- + 21 files changed, 39 insertions(+), 30 deletions(-) -diff --git a/arch/arc/kernel/troubleshoot.c b/arch/arc/kernel/troubleshoot.c -index f9caf79186d4..d2cdc6dd7205 100644 --- a/arch/arc/kernel/troubleshoot.c +++ b/arch/arc/kernel/troubleshoot.c -@@ -104,7 +104,7 @@ static void show_faulting_vma(unsigned long address, char *buf) +@@ -103,7 +103,7 @@ static void show_faulting_vma(unsigned long address, char *buf) if (file) { nm = file_path(file, buf, PAGE_SIZE - 1); inode = file_inode(vma->vm_file); @@ -55,37 +51,9 @@ index f9caf79186d4..d2cdc6dd7205 100644 ino = inode->i_ino; } pr_info(" @off 0x%lx in [%s]\n" -diff --git a/drivers/staging/lustre/lustre/llite/dir.c b/drivers/staging/lustre/lustre/llite/dir.c -index 13b35922a4ca..6a7f9e69855a 100644 ---- a/drivers/staging/lustre/lustre/llite/dir.c -+++ b/drivers/staging/lustre/lustre/llite/dir.c -@@ -1362,7 +1362,7 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg) - struct lov_user_mds_data __user *lmdp; - lstat_t st = { 0 }; - -- st.st_dev = inode->i_sb->s_dev; -+ st.st_dev = inode_get_dev(inode); - st.st_mode = body->mbo_mode; - st.st_nlink = body->mbo_nlink; - st.st_uid = body->mbo_uid; -diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c -index 67c4b9cc6e75..8c9fc8a75995 100644 ---- a/drivers/staging/lustre/lustre/llite/file.c -+++ b/drivers/staging/lustre/lustre/llite/file.c -@@ -2964,7 +2964,7 @@ int ll_getattr(const struct path *path, struct kstat *stat, - - OBD_FAIL_TIMEOUT(OBD_FAIL_GETATTR_DELAY, 30); - -- stat->dev = inode->i_sb->s_dev; -+ stat->dev = inode_get_dev(inode); - if (ll_need_32bit_api(sbi)) - stat->ino = cl_fid_build_ino(&lli->lli_fid, 1); - else -diff --git a/fs/locks.c b/fs/locks.c -index af2031a1fcff..e71c2fdf80df 100644 --- a/fs/locks.c +++ b/fs/locks.c -@@ -2682,8 +2682,8 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl, +@@ -2683,8 +2683,8 @@ static void lock_get_status(struct seq_file *f, struct file_lock *fl, if (inode) { /* userspace relies on this representation of dev_t */ seq_printf(f, "%d %02x:%02x:%ld ", fl_pid, @@ -96,11 +64,9 @@ index af2031a1fcff..e71c2fdf80df 100644 } else { seq_printf(f, "%d :0 ", fl_pid); } -diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c -index 12feac6ee2fd..5f59b0bb6984 100644 --- a/fs/nfsd/nfs3xdr.c +++ b/fs/nfsd/nfs3xdr.c -@@ -146,7 +146,7 @@ static __be32 *encode_fsid(__be32 *p, struct svc_fh *fhp) +@@ -147,7 +147,7 @@ static __be32 *encode_fsid(__be32 *p, struct svc_fh *fhp) default: case FSIDSOURCE_DEV: p = xdr_encode_hyper(p, (u64)huge_encode_dev @@ -109,11 +75,9 @@ index 12feac6ee2fd..5f59b0bb6984 100644 break; case FSIDSOURCE_FSID: p = xdr_encode_hyper(p, (u64) fhp->fh_export->ex_fsid); -diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c -index 2be32955d7f2..c3c8b4573edb 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c -@@ -785,7 +785,7 @@ struct raparms * +@@ -786,7 +786,7 @@ struct raparms * nfsd_init_raparms(struct file *file) { struct inode *inode = file_inode(file); @@ -122,7 +86,7 @@ index 2be32955d7f2..c3c8b4573edb 100644 ino_t ino = inode->i_ino; struct raparms *ra, **rap, **frap = NULL; int depth = 0; -@@ -953,7 +953,7 @@ static int wait_for_concurrent_writes(struct file *file) +@@ -949,7 +949,7 @@ static int wait_for_concurrent_writes(struct file *file) int err = 0; if (atomic_read(&inode->i_writecount) > 1 @@ -131,7 +95,7 @@ index 2be32955d7f2..c3c8b4573edb 100644 dprintk("nfsd: write defer %d\n", task_pid_nr(current)); msleep(10); dprintk("nfsd: write resume %d\n", task_pid_nr(current)); -@@ -964,7 +964,7 @@ static int wait_for_concurrent_writes(struct file *file) +@@ -960,7 +960,7 @@ static int wait_for_concurrent_writes(struct file *file) err = vfs_fsync(file, 0); } last_ino = inode->i_ino; @@ -140,11 +104,9 @@ index 2be32955d7f2..c3c8b4573edb 100644 return err; } -diff --git a/fs/notify/fdinfo.c b/fs/notify/fdinfo.c -index dd63aa9a6f9a..82737e4ae0ae 100644 --- a/fs/notify/fdinfo.c +++ b/fs/notify/fdinfo.c -@@ -90,7 +90,7 @@ static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) +@@ -91,7 +91,7 @@ static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) */ u32 mask = mark->mask & IN_ALL_EVENTS; seq_printf(m, "inotify wd:%x ino:%lx sdev:%x mask:%x ignored_mask:%x ", @@ -153,7 +115,7 @@ index dd63aa9a6f9a..82737e4ae0ae 100644 mask, mark->ignored_mask); show_mark_fhandle(m, inode); seq_putc(m, '\n'); -@@ -120,7 +120,7 @@ static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) +@@ -121,7 +121,7 @@ static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) if (!inode) return; seq_printf(m, "fanotify ino:%lx sdev:%x mflags:%x mask:%x ignored_mask:%x ", @@ -162,8 +124,6 @@ index dd63aa9a6f9a..82737e4ae0ae 100644 mflags, mark->mask, mark->ignored_mask); show_mark_fhandle(m, inode); seq_putc(m, '\n'); -diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c -index 75634379f82e..8ec396f8b78a 100644 --- a/fs/proc/nommu.c +++ b/fs/proc/nommu.c @@ -46,7 +46,7 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) @@ -175,11 +135,9 @@ index 75634379f82e..8ec396f8b78a 100644 ino = inode->i_ino; } -diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index f0c8b33d99b1..a0c818ea1879 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c -@@ -293,7 +293,7 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) +@@ -307,7 +307,7 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) if (file) { struct inode *inode = file_inode(vma->vm_file); @@ -188,11 +146,9 @@ index f0c8b33d99b1..a0c818ea1879 100644 ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; } -diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c -index 23266694db11..df61aa8938a3 100644 --- a/fs/proc/task_nommu.c +++ b/fs/proc/task_nommu.c -@@ -158,7 +158,7 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, +@@ -157,7 +157,7 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, if (file) { struct inode *inode = file_inode(vma->vm_file); @@ -201,11 +157,9 @@ index 23266694db11..df61aa8938a3 100644 ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; } -diff --git a/fs/stat.c b/fs/stat.c -index f494b182c7c7..01955747772f 100644 --- a/fs/stat.c +++ b/fs/stat.c -@@ -31,7 +31,7 @@ +@@ -32,7 +32,7 @@ */ void generic_fillattr(struct inode *inode, struct kstat *stat) { @@ -214,11 +168,9 @@ index f494b182c7c7..01955747772f 100644 stat->ino = inode->i_ino; stat->mode = inode->i_mode; stat->nlink = inode->i_nlink; -diff --git a/include/linux/fs.h b/include/linux/fs.h -index 803e5a9b2654..d0c2cc74d323 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1803,6 +1803,7 @@ struct super_operations { +@@ -1853,6 +1853,7 @@ struct super_operations { struct shrink_control *); long (*free_cached_objects)(struct super_block *, struct shrink_control *); @@ -226,7 +178,7 @@ index 803e5a9b2654..d0c2cc74d323 100644 }; /* -@@ -3224,4 +3225,12 @@ static inline bool dir_relax_shared(struct inode *inode) +@@ -3437,4 +3438,12 @@ static inline bool dir_relax_shared(struct inode *inode) extern bool path_noexec(const struct path *path); extern void inode_nohighmem(struct inode *inode); @@ -239,11 +191,9 @@ index 803e5a9b2654..d0c2cc74d323 100644 +} + #endif /* _LINUX_FS_H */ -diff --git a/include/trace/events/filelock.h b/include/trace/events/filelock.h -index 63a7680347cb..87412ff5a08c 100644 --- a/include/trace/events/filelock.h +++ b/include/trace/events/filelock.h -@@ -47,7 +47,7 @@ TRACE_EVENT(locks_get_lock_context, +@@ -48,7 +48,7 @@ TRACE_EVENT(locks_get_lock_context, ), TP_fast_assign( @@ -252,7 +202,7 @@ index 63a7680347cb..87412ff5a08c 100644 __entry->i_ino = inode->i_ino; __entry->type = type; __entry->ctx = ctx; -@@ -79,7 +79,7 @@ DECLARE_EVENT_CLASS(filelock_lock, +@@ -80,7 +80,7 @@ DECLARE_EVENT_CLASS(filelock_lock, TP_fast_assign( __entry->fl = fl ? fl : NULL; @@ -261,7 +211,7 @@ index 63a7680347cb..87412ff5a08c 100644 __entry->i_ino = inode->i_ino; __entry->fl_next = fl ? fl->fl_next : NULL; __entry->fl_owner = fl ? fl->fl_owner : NULL; -@@ -131,7 +131,7 @@ DECLARE_EVENT_CLASS(filelock_lease, +@@ -132,7 +132,7 @@ DECLARE_EVENT_CLASS(filelock_lease, TP_fast_assign( __entry->fl = fl ? fl : NULL; @@ -270,7 +220,7 @@ index 63a7680347cb..87412ff5a08c 100644 __entry->i_ino = inode->i_ino; __entry->fl_next = fl ? fl->fl_next : NULL; __entry->fl_owner = fl ? fl->fl_owner : NULL; -@@ -181,7 +181,7 @@ TRACE_EVENT(generic_add_lease, +@@ -182,7 +182,7 @@ TRACE_EVENT(generic_add_lease, ), TP_fast_assign( @@ -279,11 +229,9 @@ index 63a7680347cb..87412ff5a08c 100644 __entry->i_ino = inode->i_ino; __entry->wcount = atomic_read(&inode->i_writecount); __entry->dcount = d_count(fl->fl_file->f_path.dentry); -diff --git a/include/trace/events/filemap.h b/include/trace/events/filemap.h -index 42febb6bc1d5..a839a70faa28 100644 --- a/include/trace/events/filemap.h +++ b/include/trace/events/filemap.h -@@ -29,7 +29,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache, +@@ -31,7 +31,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache, __entry->i_ino = page->mapping->host->i_ino; __entry->index = page->index; if (page->mapping->host->i_sb) @@ -292,8 +240,6 @@ index 42febb6bc1d5..a839a70faa28 100644 else __entry->s_dev = page->mapping->host->i_rdev; ), -diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h -index 7bd8783a590f..75520d963340 100644 --- a/include/trace/events/writeback.h +++ b/include/trace/events/writeback.h @@ -710,7 +710,7 @@ DECLARE_EVENT_CLASS(writeback_inode_template, @@ -305,11 +251,9 @@ index 7bd8783a590f..75520d963340 100644 __entry->ino = inode->i_ino; __entry->state = inode->i_state; __entry->mode = inode->i_mode; -diff --git a/kernel/audit.c b/kernel/audit.c -index 4b7d49868ce1..c9987f7c1987 100644 --- a/kernel/audit.c +++ b/kernel/audit.c -@@ -2044,7 +2044,7 @@ void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, +@@ -2103,7 +2103,7 @@ void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, struct inode *inode) { name->ino = inode->i_ino; @@ -318,8 +262,6 @@ index 4b7d49868ce1..c9987f7c1987 100644 name->mode = inode->i_mode; name->uid = inode->i_uid; name->gid = inode->i_gid; -diff --git a/kernel/audit_fsnotify.c b/kernel/audit_fsnotify.c -index 52f368b6561e..4d4d4eea102e 100644 --- a/kernel/audit_fsnotify.c +++ b/kernel/audit_fsnotify.c @@ -76,7 +76,7 @@ int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_ @@ -331,8 +273,6 @@ index 52f368b6561e..4d4d4eea102e 100644 audit_mark->ino = inode ? inode->i_ino : AUDIT_INO_UNSET; } -diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c -index 62d686d96581..7332b57709ba 100644 --- a/kernel/audit_watch.c +++ b/kernel/audit_watch.c @@ -368,7 +368,7 @@ static int audit_get_nd(struct audit_watch *watch, struct path *parent) @@ -344,7 +284,7 @@ index 62d686d96581..7332b57709ba 100644 watch->ino = d_backing_inode(d)->i_ino; } dput(d); -@@ -497,7 +497,7 @@ static int audit_watch_handle_event(struct fsnotify_group *group, +@@ -499,7 +499,7 @@ static int audit_watch_handle_event(struct fsnotify_group *group, } if (mask & (FS_CREATE|FS_MOVED_TO) && inode) @@ -353,7 +293,7 @@ index 62d686d96581..7332b57709ba 100644 else if (mask & (FS_DELETE|FS_MOVED_FROM)) audit_update_watch(parent, dname, AUDIT_DEV_UNSET, AUDIT_INO_UNSET, 1); else if (mask & (FS_DELETE_SELF|FS_UNMOUNT|FS_MOVE_SELF)) -@@ -551,7 +551,7 @@ int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) +@@ -553,7 +553,7 @@ int audit_exe_compare(struct task_struct *tsk, struct audit_fsnotify_mark *mark) if (!exe_file) return 0; ino = file_inode(exe_file)->i_ino; @@ -362,11 +302,9 @@ index 62d686d96581..7332b57709ba 100644 fput(exe_file); return audit_mark_compare(mark, ino, dev); } -diff --git a/kernel/auditsc.c b/kernel/auditsc.c -index bb724baa7ac9..52462c9432c2 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c -@@ -1794,7 +1794,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry, +@@ -1800,7 +1800,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry, if (n->ino) { /* valid inode number, use that for the comparison */ if (n->ino != inode->i_ino || @@ -375,7 +313,7 @@ index bb724baa7ac9..52462c9432c2 100644 continue; } else if (n->name) { /* inode number has not been set, check the name */ -@@ -1880,7 +1880,7 @@ void __audit_inode_child(struct inode *parent, +@@ -1909,7 +1909,7 @@ void __audit_inode_child(struct inode *parent, n->type != AUDIT_TYPE_UNKNOWN)) continue; @@ -384,11 +322,9 @@ index bb724baa7ac9..52462c9432c2 100644 !audit_compare_dname_path(dname, n->name->name, n->name_len)) { if (n->type == AUDIT_TYPE_UNKNOWN) -diff --git a/kernel/events/core.c b/kernel/events/core.c -index 6e75a5c9412d..ab870aadd6ec 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c -@@ -6865,7 +6865,7 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event) +@@ -7261,7 +7261,7 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event) goto cpy_name; } inode = file_inode(vma->vm_file); @@ -397,11 +333,9 @@ index 6e75a5c9412d..ab870aadd6ec 100644 ino = inode->i_ino; gen = inode->i_generation; maj = MAJOR(dev); -diff --git a/mm/memory-failure.c b/mm/memory-failure.c -index 2527dfeddb00..62a338c4e641 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c -@@ -99,7 +99,7 @@ static int hwpoison_filter_dev(struct page *p) +@@ -98,7 +98,7 @@ static int hwpoison_filter_dev(struct page *p) if (mapping == NULL || mapping->host == NULL) return -EINVAL; @@ -410,8 +344,6 @@ index 2527dfeddb00..62a338c4e641 100644 if (hwpoison_filter_dev_major != ~0U && hwpoison_filter_dev_major != MAJOR(dev)) return -EINVAL; -diff --git a/net/unix/diag.c b/net/unix/diag.c -index 4d9679701a6d..ff37599922c7 100644 --- a/net/unix/diag.c +++ b/net/unix/diag.c @@ -26,7 +26,7 @@ static int sk_diag_dump_vfs(struct sock *sk, struct sk_buff *nlskb) @@ -423,11 +355,9 @@ index 4d9679701a6d..ff37599922c7 100644 }; return nla_put(nlskb, UNIX_DIAG_VFS, sizeof(uv), &uv); -diff --git a/security/tomoyo/condition.c b/security/tomoyo/condition.c -index 6c4528d4b48f..9f16cb5529ad 100644 --- a/security/tomoyo/condition.c +++ b/security/tomoyo/condition.c -@@ -721,7 +721,7 @@ void tomoyo_get_attributes(struct tomoyo_obj_info *obj) +@@ -722,7 +722,7 @@ void tomoyo_get_attributes(struct tomoyo_obj_info *obj) stat->gid = inode->i_gid; stat->ino = inode->i_ino; stat->mode = inode->i_mode; @@ -436,6 +366,3 @@ index 6c4528d4b48f..9f16cb5529ad 100644 stat->rdev = inode->i_rdev; obj->stat_valid[i] = true; } --- -2.13.0 - diff --git a/rpm/config.sh b/rpm/config.sh index 64505dc..8f9737e 100644 --- a/rpm/config.sh +++ b/rpm/config.sh @@ -1,5 +1,5 @@ # The version of the main tarball to use -SRCVERSION=4.17 +SRCVERSION=4.18-rc1 # variant of the kernel-source package, either empty or "-rt" VARIANT= # buildservice projects to build the kernel against diff --git a/series.conf b/series.conf index f410d29..f395ae0 100644 --- a/series.conf +++ b/series.conf @@ -27,68 +27,6 @@ # DO NOT MODIFY THEM! # Send separate patches upstream if you find a problem... ######################################################## - patches.kernel.org/4.17.1-001-netfilter-nf_flow_table-attach-dst-to-skbs.patch - patches.kernel.org/4.17.1-002-bnx2x-use-the-right-constant.patch - patches.kernel.org/4.17.1-003-ip6mr-only-set-ip6mr_table-from-setsockopt-whe.patch - patches.kernel.org/4.17.1-004-ipv6-omit-traffic-class-when-calculating-flow-.patch - patches.kernel.org/4.17.1-005-l2tp-fix-refcount-leakage-on-PPPoL2TP-sockets.patch - patches.kernel.org/4.17.1-006-netdev-FAQ-clarify-DaveM-s-position-for-stable.patch - patches.kernel.org/4.17.1-007-net-metrics-add-proper-netlink-validation.patch - patches.kernel.org/4.17.1-008-net-packet-refine-check-for-priv-area-size.patch - patches.kernel.org/4.17.1-009-rtnetlink-validate-attributes-in-do_setlink.patch - patches.kernel.org/4.17.1-010-sctp-not-allow-transport-timeout-value-less-th.patch - patches.kernel.org/4.17.1-011-team-use-netdev_features_t-instead-of-u32.patch - patches.kernel.org/4.17.1-012-vrf-check-the-original-netdevice-for-generatin.patch - patches.kernel.org/4.17.1-013-net-dsa-b53-Fix-for-brcm-tag-issue-in-Cygnus-S.patch - patches.kernel.org/4.17.1-014-ipmr-fix-error-path-when-ipmr_new_table-fails.patch - patches.kernel.org/4.17.1-015-PCI-hv-Do-not-wait-forever-on-a-device-that-ha.patch - patches.kernel.org/4.17.1-016-Linux-4.17.1.patch - patches.kernel.org/4.17.2-001-crypto-chelsio-request-to-HW-should-wrap.patch - patches.kernel.org/4.17.2-002-blkdev_report_zones_ioctl-Use-vmalloc-to-alloc.patch - patches.kernel.org/4.17.2-003-KVM-X86-Fix-reserved-bits-check-for-MOV-to-CR3.patch - patches.kernel.org/4.17.2-004-KVM-x86-introduce-linear_-read-write-_system.patch - patches.kernel.org/4.17.2-005-kvm-fix-typo-in-flag-name.patch - patches.kernel.org/4.17.2-006-kvm-nVMX-Enforce-cpl-0-for-VMX-instructions.patch - patches.kernel.org/4.17.2-007-KVM-x86-pass-kvm_vcpu-to-kvm_read_guest_virt-a.patch - patches.kernel.org/4.17.2-008-kvm-x86-use-correct-privilege-level-for-sgdt-s.patch - patches.kernel.org/4.17.2-009-staging-android-ion-Switch-to-pr_warn_once-in-.patch - patches.kernel.org/4.17.2-010-NFC-pn533-don-t-send-USB-data-off-of-the-stack.patch - patches.kernel.org/4.17.2-011-usbip-vhci_sysfs-fix-potential-Spectre-v1.patch - patches.kernel.org/4.17.2-012-usb-storage-Add-support-for-FL_ALWAYS_SYNC-fla.patch - patches.kernel.org/4.17.2-013-usb-storage-Add-compatibility-quirk-flags-for-.patch - patches.kernel.org/4.17.2-014-Input-xpad-add-GPD-Win-2-Controller-USB-IDs.patch - patches.kernel.org/4.17.2-015-phy-qcom-qusb2-Fix-crash-if-nvmem-cell-not-spe.patch - patches.kernel.org/4.17.2-016-usb-core-message-remove-extra-endianness-conve.patch - patches.kernel.org/4.17.2-017-usb-typec-wcove-Remove-dependency-on-HW-FSM.patch - patches.kernel.org/4.17.2-018-usb-gadget-function-printer-avoid-wrong-list-h.patch - patches.kernel.org/4.17.2-019-usb-gadget-udc-renesas_usb3-fix-double-phy_put.patch - patches.kernel.org/4.17.2-020-usb-gadget-udc-renesas_usb3-should-remove-debu.patch - patches.kernel.org/4.17.2-021-usb-gadget-udc-renesas_usb3-should-call-pm_run.patch - patches.kernel.org/4.17.2-022-usb-gadget-udc-renesas_usb3-should-call-devm_p.patch - patches.kernel.org/4.17.2-023-usb-gadget-udc-renesas_usb3-should-fail-if-dev.patch - patches.kernel.org/4.17.2-024-usb-gadget-udc-renesas_usb3-disable-the-contro.patch - patches.kernel.org/4.17.2-025-serial-sh-sci-Stop-using-printk-format-pCr.patch - patches.kernel.org/4.17.2-026-tty-serial-atmel-use-port-name-as-name-in-requ.patch - patches.kernel.org/4.17.2-027-serial-samsung-fix-maxburst-parameter-for-DMA-.patch - patches.kernel.org/4.17.2-028-serial-8250-omap-Fix-idling-of-clocks-for-unus.patch - patches.kernel.org/4.17.2-029-vmw_balloon-fixing-double-free-when-batching-m.patch - patches.kernel.org/4.17.2-030-doc-fix-sysfs-ABI-documentation.patch - patches.kernel.org/4.17.2-031-arm64-defconfig-Enable-CONFIG_PINCTRL_MT7622-b.patch - patches.kernel.org/4.17.2-032-tty-pl011-Avoid-spuriously-stuck-off-interrupt.patch - patches.kernel.org/4.17.2-033-crypto-ccree-correct-host-regs-offset.patch - patches.kernel.org/4.17.2-034-Input-goodix-add-new-ACPI-id-for-GPD-Win-2-tou.patch - patches.kernel.org/4.17.2-035-Input-elan_i2c-add-ELAN0612-Lenovo-v330-14IKB-.patch - patches.kernel.org/4.17.2-036-crypto-caam-strip-input-zeros-from-RSA-input-b.patch - patches.kernel.org/4.17.2-037-crypto-caam-fix-DMA-mapping-dir-for-generated-.patch - patches.kernel.org/4.17.2-038-crypto-caam-fix-IV-DMA-mapping-and-updating.patch - patches.kernel.org/4.17.2-039-crypto-caam-qi-fix-IV-DMA-mapping-and-updating.patch - patches.kernel.org/4.17.2-040-crypto-caam-fix-size-of-RSA-prime-factor-q.patch - patches.kernel.org/4.17.2-041-crypto-cavium-Fix-fallout-from-CONFIG_VMAP_STA.patch - patches.kernel.org/4.17.2-042-crypto-cavium-Limit-result-reading-attempts.patch - patches.kernel.org/4.17.2-043-crypto-vmx-Remove-overly-verbose-printk-from-A.patch - patches.kernel.org/4.17.2-044-crypto-vmx-Remove-overly-verbose-printk-from-A.patch - patches.kernel.org/4.17.2-045-crypto-omap-sham-fix-memleak.patch - patches.kernel.org/4.17.2-046-Linux-4.17.2.patch ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -206,12 +144,12 @@ ######################################################## # ARM ######################################################## - patches.suse/0036-arm-Add-BTB-invalidation-on-switch_mm-for-Cortex-A9-.patch - patches.suse/0037-arm-Invalidate-BTB-on-prefetch-abort-outside-of-user.patch - patches.suse/0038-arm-KVM-Invalidate-BTB-on-guest-exit.patch - patches.suse/0039-arm-Add-icache-invalidation-on-switch_mm-for-Cortex-.patch - patches.suse/0040-arm-Invalidate-icache-on-prefetch-abort-outside-of-u.patch - patches.suse/0041-arm-KVM-Invalidate-icache-on-guest-exit-for-Cortex-A.patch ++ykaukab patches.suse/0036-arm-Add-BTB-invalidation-on-switch_mm-for-Cortex-A9-.patch ++ykaukab patches.suse/0037-arm-Invalidate-BTB-on-prefetch-abort-outside-of-user.patch ++ykaukab patches.suse/0038-arm-KVM-Invalidate-BTB-on-guest-exit.patch ++ykaukab patches.suse/0039-arm-Add-icache-invalidation-on-switch_mm-for-Cortex-.patch ++ykaukab patches.suse/0040-arm-Invalidate-icache-on-prefetch-abort-outside-of-u.patch ++ykaukab patches.suse/0041-arm-KVM-Invalidate-icache-on-guest-exit-for-Cortex-A.patch ######################################################## # S/390 @@ -268,7 +206,6 @@ ######################################################## # Networking Core ######################################################## - patches.suse/socket-close-race-condition-between-sock_close-and-s.patch ######################################################## # Netfilter @@ -374,7 +311,6 @@ # Wireless Networking ######################################################## patches.suse/b43-missing-firmware-info.patch - patches.suse/Bluetooth-Apply-QCA-Rome-patches-for-some-ATH3021-modules ######################################################## # ISDN @@ -404,7 +340,6 @@ ######################################################## # Input & Console ######################################################## - patches.suse/HID-redragon-Fix-modifier-keys-for-Redragon-Asura-Ke.patch ########################################################## # Sound @@ -417,7 +352,6 @@ ######################################################## # Other driver fixes ######################################################## - patches.suse/mtd-spi-nor-intel-spi-Fix-atomic-sequence-handling ######################################################## # Other drivers we have added to the tree