mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
Merge pull request #2554 from rn/4.13
Add 4.13.x and remove 4.12.x kernels
This commit is contained in:
commit
a4dd23adf4
@ -1,4 +1,4 @@
|
||||
FROM linuxkit/alpine:f2f4db272c910d136380781a97e475013fabda8b AS kernel-build
|
||||
FROM linuxkit/alpine:4476496e70a41705f9a8f1c9162a4e21a40817fe AS kernel-build
|
||||
RUN apk add \
|
||||
argp-standalone \
|
||||
automake \
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM linuxkit/alpine:f2f4db272c910d136380781a97e475013fabda8b AS kernel-build
|
||||
FROM linuxkit/alpine:4476496e70a41705f9a8f1c9162a4e21a40817fe AS kernel-build
|
||||
RUN apk add \
|
||||
argp-standalone \
|
||||
build-base \
|
||||
|
@ -1,6 +1,6 @@
|
||||
ARG IMAGE
|
||||
FROM ${IMAGE} AS ksrc
|
||||
FROM linuxkit/alpine:f2f4db272c910d136380781a97e475013fabda8b AS build
|
||||
FROM linuxkit/alpine:4476496e70a41705f9a8f1c9162a4e21a40817fe AS build
|
||||
RUN apk add \
|
||||
attr-dev \
|
||||
autoconf \
|
||||
|
@ -172,8 +172,8 @@ endef
|
||||
# Build Targets
|
||||
# Debug targets only for latest stable and LTS stable
|
||||
#
|
||||
$(eval $(call kernel,4.12.14,4.12.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.12.14,4.12.x,-dbg))
|
||||
$(eval $(call kernel,4.13.4,4.13.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.13.4,4.13.x,-dbg))
|
||||
$(eval $(call kernel,4.9.52,4.9.x,$(EXTRA)))
|
||||
$(eval $(call kernel,4.9.52,4.9.x,-dbg))
|
||||
$(eval $(call kernel,4.4.89,4.4.x,$(EXTRA)))
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 4.12.14 Kernel Configuration
|
||||
# Linux/arm64 4.13.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
@ -23,7 +23,7 @@ CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_HAVE_GENERIC_RCU_GUP=y
|
||||
CONFIG_HAVE_GENERIC_GUP=y
|
||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_SG_DMA_LENGTH=y
|
||||
@ -34,6 +34,7 @@ CONFIG_KERNEL_MODE_NEON=y
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_PGTABLE_LEVELS=4
|
||||
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
||||
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_BUILDTIME_EXTABLE_SORT=y
|
||||
@ -78,6 +79,7 @@ CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
|
||||
CONFIG_ARCH_CLOCKSOURCE_DATA=y
|
||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
@ -118,7 +120,6 @@ CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
@ -215,6 +216,7 @@ CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
CONFIG_PROFILING=y
|
||||
@ -232,6 +234,7 @@ CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
|
||||
CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
@ -253,6 +256,7 @@ CONFIG_CC_STACKPROTECTOR=y
|
||||
# CONFIG_CC_STACKPROTECTOR_NONE is not set
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_STRONG=y
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
@ -273,6 +277,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_STRICT_MODULE_RWX=y
|
||||
# CONFIG_REFCOUNT_FULL is not set
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -358,6 +363,7 @@ CONFIG_FREEZER=y
|
||||
#
|
||||
# Platform selection
|
||||
#
|
||||
# CONFIG_ARCH_ACTIONS is not set
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
# CONFIG_ARCH_ALPINE is not set
|
||||
# CONFIG_ARCH_BCM2835 is not set
|
||||
@ -372,6 +378,7 @@ CONFIG_ARCH_HISI=y
|
||||
# CONFIG_ARCH_MESON is not set
|
||||
# CONFIG_ARCH_MVEBU is not set
|
||||
CONFIG_ARCH_QCOM=y
|
||||
# CONFIG_ARCH_REALTEK is not set
|
||||
# CONFIG_ARCH_ROCKCHIP is not set
|
||||
CONFIG_ARCH_SEATTLE=y
|
||||
# CONFIG_ARCH_RENESAS is not set
|
||||
@ -433,6 +440,7 @@ CONFIG_PCIE_DW_HOST=y
|
||||
# CONFIG_PCI_LAYERSCAPE is not set
|
||||
CONFIG_PCI_HISI=y
|
||||
CONFIG_PCIE_QCOM=y
|
||||
# CONFIG_PCIE_KIRIN is not set
|
||||
|
||||
#
|
||||
# PCI host controller drivers
|
||||
@ -470,6 +478,7 @@ CONFIG_ARM64_ERRATUM_843419=y
|
||||
CONFIG_CAVIUM_ERRATUM_22375=y
|
||||
CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||
CONFIG_CAVIUM_ERRATUM_30115=y
|
||||
CONFIG_QCOM_FALKOR_ERRATUM_1003=y
|
||||
CONFIG_QCOM_FALKOR_ERRATUM_1009=y
|
||||
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
|
||||
@ -526,9 +535,12 @@ CONFIG_BOUNCE=y
|
||||
CONFIG_MMU_NOTIFIER=y
|
||||
CONFIG_KSM=y
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
|
||||
# CONFIG_MEMORY_FAILURE is not set
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
|
||||
# CONFIG_ARCH_WANTS_THP_SWAP is not set
|
||||
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
|
||||
# CONFIG_CLEANCACHE is not set
|
||||
# CONFIG_FRONTSWAP is not set
|
||||
@ -541,6 +553,7 @@ CONFIG_CMA_AREAS=7
|
||||
# CONFIG_ZSMALLOC is not set
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
# CONFIG_IDLE_PAGE_TRACKING is not set
|
||||
# CONFIG_PERCPU_STATS is not set
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PARAVIRT=y
|
||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||
@ -611,6 +624,7 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
# CPU Idle
|
||||
#
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_DT_IDLE_STATES=y
|
||||
@ -661,6 +675,7 @@ CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_UNIX_DIAG=y
|
||||
# CONFIG_TLS is not set
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_ALGO=m
|
||||
CONFIG_XFRM_USER=m
|
||||
@ -1294,6 +1309,7 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
|
||||
#
|
||||
# Bus devices
|
||||
@ -1304,7 +1320,9 @@ CONFIG_ARM_CCI400_COMMON=y
|
||||
CONFIG_ARM_CCI400_PMU=y
|
||||
CONFIG_ARM_CCI5xx_PMU=y
|
||||
CONFIG_ARM_CCN=y
|
||||
# CONFIG_BRCMSTB_GISB_ARB is not set
|
||||
CONFIG_QCOM_EBI2=y
|
||||
# CONFIG_SIMPLE_PM_BUS is not set
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
# CONFIG_CONNECTOR is not set
|
||||
# CONFIG_MTD is not set
|
||||
@ -1356,7 +1374,6 @@ CONFIG_VIRTIO_BLK=y
|
||||
# CONFIG_BLK_DEV_RSXX is not set
|
||||
CONFIG_NVME_CORE=y
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
# CONFIG_BLK_DEV_NVME_SCSI is not set
|
||||
# CONFIG_NVME_FC is not set
|
||||
# CONFIG_NVME_TARGET is not set
|
||||
|
||||
@ -1442,6 +1459,7 @@ CONFIG_VEXPRESS_SYSCFG=y
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_CXL_BASE is not set
|
||||
# CONFIG_CXL_AFU_DRIVER_OPS is not set
|
||||
# CONFIG_CXL_LIB is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
@ -1496,6 +1514,7 @@ CONFIG_SCSI_HPSA=m
|
||||
# CONFIG_SCSI_AIC79XX is not set
|
||||
# CONFIG_SCSI_AIC94XX is not set
|
||||
CONFIG_SCSI_HISI_SAS=y
|
||||
# CONFIG_SCSI_HISI_SAS_PCI is not set
|
||||
# CONFIG_SCSI_MVSAS is not set
|
||||
# CONFIG_SCSI_MVUMI is not set
|
||||
# CONFIG_SCSI_ADVANSYS is not set
|
||||
@ -1786,9 +1805,11 @@ CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_CORE=m
|
||||
CONFIG_MLX4_DEBUG=y
|
||||
CONFIG_MLX5_CORE=m
|
||||
# CONFIG_MLX5_FPGA is not set
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
# CONFIG_MLX5_CORE_IPOIB is not set
|
||||
# CONFIG_MLXSW_CORE is not set
|
||||
# CONFIG_MLXFW is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MYRI is not set
|
||||
# CONFIG_FEALNX is not set
|
||||
@ -1824,6 +1845,7 @@ CONFIG_8139CP=m
|
||||
# CONFIG_HIPPI is not set
|
||||
# CONFIG_NET_SB1000 is not set
|
||||
CONFIG_MDIO_DEVICE=m
|
||||
CONFIG_MDIO_BUS=m
|
||||
# CONFIG_MDIO_BCM_UNIMAC is not set
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
@ -1845,6 +1867,7 @@ CONFIG_SWPHY=y
|
||||
# CONFIG_BCM87XX_PHY is not set
|
||||
# CONFIG_BROADCOM_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
# CONFIG_DP83848_PHY is not set
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
@ -1854,6 +1877,7 @@ CONFIG_FIXED_PHY=m
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_MARVELL_PHY is not set
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
# CONFIG_MICREL_PHY is not set
|
||||
# CONFIG_MICROCHIP_PHY is not set
|
||||
# CONFIG_MICROSEMI_PHY is not set
|
||||
@ -1920,6 +1944,7 @@ CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_QT1070 is not set
|
||||
# CONFIG_KEYBOARD_QT2160 is not set
|
||||
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_GPIO is not set
|
||||
# CONFIG_KEYBOARD_GPIO_POLLED is not set
|
||||
@ -2003,7 +2028,6 @@ CONFIG_UNIX98_PTYS=y
|
||||
# CONFIG_N_GSM is not set
|
||||
# CONFIG_TRACE_SINK is not set
|
||||
CONFIG_DEVMEM=y
|
||||
# CONFIG_DEVKMEM is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
@ -2019,6 +2043,7 @@ CONFIG_SERIAL_8250_EXAR=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
# CONFIG_SERIAL_8250_ASPEED_VUART is not set
|
||||
CONFIG_SERIAL_8250_FSL=y
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
# CONFIG_SERIAL_8250_RT288X is not set
|
||||
@ -2105,6 +2130,7 @@ CONFIG_I2C_MUX=y
|
||||
#
|
||||
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
|
||||
# CONFIG_I2C_MUX_GPIO is not set
|
||||
# CONFIG_I2C_MUX_GPMUX is not set
|
||||
# CONFIG_I2C_MUX_LTC4306 is not set
|
||||
# CONFIG_I2C_MUX_PCA9541 is not set
|
||||
# CONFIG_I2C_MUX_PCA954x is not set
|
||||
@ -2187,10 +2213,6 @@ CONFIG_I2C_THUNDERX=m
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPMI is not set
|
||||
# CONFIG_HSI is not set
|
||||
|
||||
#
|
||||
# PPS support
|
||||
#
|
||||
CONFIG_PPS=y
|
||||
# CONFIG_PPS_DEBUG is not set
|
||||
|
||||
@ -2222,17 +2244,20 @@ CONFIG_PINMUX=y
|
||||
CONFIG_PINCONF=y
|
||||
# CONFIG_DEBUG_PINCTRL is not set
|
||||
# CONFIG_PINCTRL_AMD is not set
|
||||
# CONFIG_PINCTRL_MCP23S08 is not set
|
||||
# CONFIG_PINCTRL_SINGLE is not set
|
||||
# CONFIG_PINCTRL_SX150X is not set
|
||||
# CONFIG_PINCTRL_BAYTRAIL is not set
|
||||
# CONFIG_PINCTRL_CHERRYVIEW is not set
|
||||
# CONFIG_PINCTRL_BROXTON is not set
|
||||
# CONFIG_PINCTRL_CANNONLAKE is not set
|
||||
# CONFIG_PINCTRL_GEMINILAKE is not set
|
||||
# CONFIG_PINCTRL_SUNRISEPOINT is not set
|
||||
# CONFIG_PINCTRL_APQ8064 is not set
|
||||
# CONFIG_PINCTRL_APQ8084 is not set
|
||||
# CONFIG_PINCTRL_IPQ4019 is not set
|
||||
# CONFIG_PINCTRL_IPQ8064 is not set
|
||||
# CONFIG_PINCTRL_IPQ8074 is not set
|
||||
# CONFIG_PINCTRL_MSM8660 is not set
|
||||
# CONFIG_PINCTRL_MSM8960 is not set
|
||||
# CONFIG_PINCTRL_MDM9615 is not set
|
||||
@ -2244,6 +2269,7 @@ CONFIG_PINCONF=y
|
||||
# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
|
||||
CONFIG_PINCTRL_SAMSUNG=y
|
||||
CONFIG_PINCTRL_EXYNOS=y
|
||||
CONFIG_PINCTRL_EXYNOS_ARM64=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_GPIO_ACPI=y
|
||||
@ -2293,17 +2319,13 @@ CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
# CONFIG_GPIO_PCI_IDIO_16 is not set
|
||||
# CONFIG_GPIO_RDC321X is not set
|
||||
|
||||
#
|
||||
# SPI or I2C GPIO expanders
|
||||
#
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
|
||||
#
|
||||
# USB GPIO expanders
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_AVS is not set
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
# CONFIG_POWER_RESET_GPIO is not set
|
||||
# CONFIG_POWER_RESET_GPIO_RESTART is not set
|
||||
# CONFIG_POWER_RESET_HISI is not set
|
||||
@ -2330,6 +2352,7 @@ CONFIG_POWER_SUPPLY=y
|
||||
# CONFIG_CHARGER_MAX8903 is not set
|
||||
# CONFIG_CHARGER_LP8727 is not set
|
||||
# CONFIG_CHARGER_GPIO is not set
|
||||
# CONFIG_CHARGER_LTC3651 is not set
|
||||
# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
|
||||
# CONFIG_CHARGER_BQ2415X is not set
|
||||
# CONFIG_CHARGER_BQ24257 is not set
|
||||
@ -2543,7 +2566,6 @@ CONFIG_MFD_CORE=y
|
||||
# CONFIG_HTC_I2CPLD is not set
|
||||
# CONFIG_LPC_ICH is not set
|
||||
# CONFIG_LPC_SCH is not set
|
||||
# CONFIG_INTEL_SOC_PMIC is not set
|
||||
# CONFIG_MFD_JANZ_CMODIO is not set
|
||||
# CONFIG_MFD_KEMPLD is not set
|
||||
# CONFIG_MFD_88PM800 is not set
|
||||
@ -2591,6 +2613,7 @@ CONFIG_MFD_SYSCON=y
|
||||
# CONFIG_MFD_TPS65090 is not set
|
||||
# CONFIG_MFD_TPS65217 is not set
|
||||
# CONFIG_MFD_TI_LP873X is not set
|
||||
# CONFIG_MFD_TI_LP87565 is not set
|
||||
# CONFIG_MFD_TPS65218 is not set
|
||||
# CONFIG_MFD_TPS6586X is not set
|
||||
# CONFIG_MFD_TPS65910 is not set
|
||||
@ -2747,6 +2770,7 @@ CONFIG_HID_GENERIC=y
|
||||
# CONFIG_HID_WALTOP is not set
|
||||
# CONFIG_HID_GYRATION is not set
|
||||
# CONFIG_HID_ICADE is not set
|
||||
# CONFIG_HID_ITE is not set
|
||||
# CONFIG_HID_TWINHAN is not set
|
||||
# CONFIG_HID_KENSINGTON is not set
|
||||
# CONFIG_HID_LCPOWER is not set
|
||||
@ -2766,6 +2790,7 @@ CONFIG_HID_GENERIC=y
|
||||
# CONFIG_HID_PICOLCD is not set
|
||||
# CONFIG_HID_PLANTRONICS is not set
|
||||
# CONFIG_HID_PRIMAX is not set
|
||||
# CONFIG_HID_RETRODE is not set
|
||||
# CONFIG_HID_ROCCAT is not set
|
||||
# CONFIG_HID_SAITEK is not set
|
||||
# CONFIG_HID_SAMSUNG is not set
|
||||
@ -2906,7 +2931,6 @@ CONFIG_USB_UHCI_HCD=m
|
||||
# CONFIG_USB_HSIC_USB4604 is not set
|
||||
# CONFIG_USB_LINK_LAYER_TEST is not set
|
||||
# CONFIG_USB_CHAOSKEY is not set
|
||||
# CONFIG_UCSI is not set
|
||||
|
||||
#
|
||||
# USB Physical Layer drivers
|
||||
@ -2915,12 +2939,15 @@ CONFIG_USB_UHCI_HCD=m
|
||||
# CONFIG_NOP_USB_XCEIV is not set
|
||||
# CONFIG_USB_GPIO_VBUS is not set
|
||||
# CONFIG_USB_ISP1301 is not set
|
||||
# CONFIG_USB_MSM_OTG is not set
|
||||
# CONFIG_USB_QCOM_8X16_PHY is not set
|
||||
# CONFIG_USB_ULPI is not set
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# USB Power Delivery and Type-C drivers
|
||||
#
|
||||
# CONFIG_TYPEC_UCSI is not set
|
||||
# CONFIG_USB_ULPI_BUS is not set
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
@ -2936,6 +2963,7 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
|
||||
CONFIG_RTC_SYSTOHC=y
|
||||
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
|
||||
# CONFIG_RTC_DEBUG is not set
|
||||
CONFIG_RTC_NVMEM=y
|
||||
|
||||
#
|
||||
# RTC interfaces
|
||||
@ -2983,6 +3011,7 @@ CONFIG_RTC_I2C_AND_SPI=y
|
||||
# SPI and I2C RTC drivers
|
||||
#
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_RTC_DRV_DS3232_HWMON=y
|
||||
# CONFIG_RTC_DRV_PCF2127 is not set
|
||||
# CONFIG_RTC_DRV_RV3029C2 is not set
|
||||
|
||||
@ -3013,6 +3042,7 @@ CONFIG_HAVE_S3C_RTC=y
|
||||
CONFIG_RTC_DRV_S3C=y
|
||||
# CONFIG_RTC_DRV_PL030 is not set
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
# CONFIG_RTC_DRV_FTRTC010 is not set
|
||||
# CONFIG_RTC_DRV_SNVS is not set
|
||||
# CONFIG_RTC_DRV_R7301 is not set
|
||||
|
||||
@ -3107,18 +3137,14 @@ CONFIG_RESET_HISI=y
|
||||
CONFIG_COMMON_CLK_SAMSUNG=y
|
||||
CONFIG_EXYNOS_ARM64_COMMON_CLK=y
|
||||
# CONFIG_EXYNOS_AUDSS_CLK_CON is not set
|
||||
|
||||
#
|
||||
# Hardware Spinlock drivers
|
||||
#
|
||||
# CONFIG_HWSPINLOCK_QCOM is not set
|
||||
# CONFIG_HWSPINLOCK is not set
|
||||
|
||||
#
|
||||
# Clock Source drivers
|
||||
#
|
||||
CONFIG_CLKSRC_OF=y
|
||||
CONFIG_CLKSRC_ACPI=y
|
||||
CONFIG_CLKSRC_PROBE=y
|
||||
CONFIG_TIMER_OF=y
|
||||
CONFIG_TIMER_ACPI=y
|
||||
CONFIG_TIMER_PROBE=y
|
||||
CONFIG_CLKSRC_MMIO=y
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
|
||||
@ -3152,6 +3178,7 @@ CONFIG_CLKSRC_VERSATILE=y
|
||||
#
|
||||
# Broadcom SoC drivers
|
||||
#
|
||||
# CONFIG_SOC_BRCMSTB is not set
|
||||
|
||||
#
|
||||
# i.MX SoC drivers
|
||||
@ -3162,7 +3189,6 @@ CONFIG_EXYNOS_PMU=y
|
||||
CONFIG_EXYNOS_PM_DOMAINS=y
|
||||
# CONFIG_SUNXI_SRAM is not set
|
||||
# CONFIG_SOC_TI is not set
|
||||
# CONFIG_SOC_ZTE is not set
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
|
||||
#
|
||||
@ -3199,6 +3225,7 @@ CONFIG_PARTITION_PERCPU=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_ATH79 is not set
|
||||
# CONFIG_RESET_BERLIN is not set
|
||||
# CONFIG_RESET_GEMINI is not set
|
||||
# CONFIG_RESET_IMX7 is not set
|
||||
# CONFIG_RESET_LPC18XX is not set
|
||||
# CONFIG_RESET_MESON is not set
|
||||
@ -3206,7 +3233,7 @@ CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_SOCFPGA is not set
|
||||
# CONFIG_RESET_STM32 is not set
|
||||
# CONFIG_RESET_SUNXI is not set
|
||||
# CONFIG_TI_SYSCON_RESET is not set
|
||||
# CONFIG_RESET_TI_SYSCON is not set
|
||||
# CONFIG_RESET_ZYNQ is not set
|
||||
CONFIG_COMMON_RESET_HI3660=y
|
||||
# CONFIG_COMMON_RESET_HI6220 is not set
|
||||
@ -3217,19 +3244,19 @@ CONFIG_COMMON_RESET_HI3660=y
|
||||
# PHY Subsystem
|
||||
#
|
||||
CONFIG_GENERIC_PHY=y
|
||||
# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
|
||||
# CONFIG_PHY_PXA_28NM_HSIC is not set
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# CONFIG_PHY_HI6220_USB is not set
|
||||
# CONFIG_PHY_EXYNOS_PCIE is not set
|
||||
# CONFIG_PHY_PXA_28NM_HSIC is not set
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_PHY_QCOM_APQ8064_SATA is not set
|
||||
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
# CONFIG_PHY_QCOM_QMP is not set
|
||||
# CONFIG_PHY_QCOM_QUSB2 is not set
|
||||
# CONFIG_PHY_QCOM_UFS is not set
|
||||
# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
|
||||
# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
|
||||
# CONFIG_PHY_EXYNOS_PCIE is not set
|
||||
# CONFIG_POWERCAP is not set
|
||||
# CONFIG_MCB is not set
|
||||
|
||||
@ -3249,7 +3276,8 @@ CONFIG_ARM_PMU_ACPI=y
|
||||
# CONFIG_LIBNVDIMM is not set
|
||||
CONFIG_DAX=y
|
||||
# CONFIG_DEV_DAX is not set
|
||||
# CONFIG_NVMEM is not set
|
||||
CONFIG_NVMEM=y
|
||||
# CONFIG_QCOM_QFPROM is not set
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
|
||||
@ -3385,6 +3413,7 @@ CONFIG_FUSE_FS=y
|
||||
CONFIG_CUSE=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
||||
# CONFIG_OVERLAY_FS_INDEX is not set
|
||||
|
||||
#
|
||||
# Caches
|
||||
@ -3513,8 +3542,8 @@ CONFIG_CIFS_POSIX=y
|
||||
# CONFIG_CIFS_ACL is not set
|
||||
CONFIG_CIFS_DEBUG=y
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
|
||||
CONFIG_CIFS_DFS_UPCALL=y
|
||||
CONFIG_CIFS_SMB2=y
|
||||
# CONFIG_CIFS_SMB311 is not set
|
||||
CONFIG_CIFS_FSCACHE=y
|
||||
# CONFIG_NCP_FS is not set
|
||||
@ -3664,9 +3693,7 @@ CONFIG_ARCH_HAS_KCOV=y
|
||||
#
|
||||
# Debug Lockups and Hangs
|
||||
#
|
||||
CONFIG_LOCKUP_DETECTOR=y
|
||||
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
|
||||
# CONFIG_SOFTLOCKUP_DETECTOR is not set
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
@ -3697,6 +3724,7 @@ CONFIG_DEBUG_PREEMPT=y
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
# CONFIG_WW_MUTEX_SELFTEST is not set
|
||||
CONFIG_STACKTRACE=y
|
||||
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_HAVE_DEBUG_BUGVERBOSE=y
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
@ -3710,7 +3738,6 @@ CONFIG_DEBUG_CREDENTIALS=y
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_SPARSE_RCU_POINTER is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
@ -3762,7 +3789,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
|
||||
# CONFIG_TRACEPOINT_BENCHMARK is not set
|
||||
# CONFIG_RING_BUFFER_BENCHMARK is not set
|
||||
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
|
||||
# CONFIG_TRACE_ENUM_MAP_FILE is not set
|
||||
# CONFIG_TRACE_EVAL_MAP_FILE is not set
|
||||
CONFIG_TRACING_EVENTS_GPIO=y
|
||||
|
||||
#
|
||||
@ -3790,10 +3817,12 @@ CONFIG_TRACING_EVENTS_GPIO=y
|
||||
# CONFIG_TEST_USER_COPY is not set
|
||||
# CONFIG_TEST_BPF is not set
|
||||
# CONFIG_TEST_FIRMWARE is not set
|
||||
# CONFIG_TEST_SYSCTL is not set
|
||||
# CONFIG_TEST_UDELAY is not set
|
||||
# CONFIG_MEMTEST is not set
|
||||
# CONFIG_TEST_STATIC_KEYS is not set
|
||||
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
|
||||
# CONFIG_TEST_KMOD is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
# CONFIG_KGDB is not set
|
||||
@ -3835,6 +3864,7 @@ CONFIG_SECURITY_PATH=y
|
||||
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
|
||||
CONFIG_FORTIFY_SOURCE=y
|
||||
CONFIG_STATIC_USERMODEHELPER=y
|
||||
CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper"
|
||||
# CONFIG_SECURITY_SELINUX is not set
|
||||
@ -3998,6 +4028,7 @@ CONFIG_CRYPTO_HW=y
|
||||
# CONFIG_CRYPTO_DEV_S5P is not set
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
# CONFIG_CAVIUM_CPT is not set
|
||||
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
|
||||
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
|
||||
CONFIG_CRYPTO_DEV_QCE=m
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
@ -4051,6 +4082,7 @@ CONFIG_CRC32_SLICEBY8=y
|
||||
# CONFIG_CRC32_SLICEBY4 is not set
|
||||
# CONFIG_CRC32_SARWATE is not set
|
||||
# CONFIG_CRC32_BIT is not set
|
||||
# CONFIG_CRC4 is not set
|
||||
# CONFIG_CRC7 is not set
|
||||
CONFIG_LIBCRC32C=y
|
||||
# CONFIG_CRC8 is not set
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 4.12.14 Kernel Configuration
|
||||
# Linux/x86 4.13.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
@ -86,7 +86,9 @@ CONFIG_AUDIT_TREE=y
|
||||
#
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
|
||||
CONFIG_GENERIC_PENDING_IRQ=y
|
||||
CONFIG_GENERIC_IRQ_MIGRATION=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_GENERIC_MSI_IRQ=y
|
||||
@ -94,6 +96,7 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
|
||||
CONFIG_CLOCKSOURCE_WATCHDOG=y
|
||||
CONFIG_ARCH_CLOCKSOURCE_DATA=y
|
||||
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
|
||||
@ -137,7 +140,6 @@ CONFIG_TREE_SRCU=y
|
||||
# CONFIG_TASKS_RCU is not set
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# CONFIG_TREE_RCU_TRACE is not set
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
@ -241,6 +243,7 @@ CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_SLAB_MERGE_DEFAULT=y
|
||||
CONFIG_SLAB_FREELIST_RANDOM=y
|
||||
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
|
||||
CONFIG_PROFILING=y
|
||||
@ -269,6 +272,7 @@ CONFIG_HAVE_NMI=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
|
||||
CONFIG_ARCH_HAS_SET_MEMORY=y
|
||||
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
@ -278,6 +282,7 @@ CONFIG_HAVE_HW_BREAKPOINT=y
|
||||
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
|
||||
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
|
||||
CONFIG_HAVE_PERF_EVENTS_NMI=y
|
||||
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
@ -295,6 +300,7 @@ CONFIG_CC_STACKPROTECTOR=y
|
||||
# CONFIG_CC_STACKPROTECTOR_NONE is not set
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_STRONG=y
|
||||
CONFIG_THIN_ARCHIVES=y
|
||||
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
@ -327,6 +333,7 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_STRICT_MODULE_RWX=y
|
||||
# CONFIG_REFCOUNT_FULL is not set
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -527,6 +534,7 @@ CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
CONFIG_HAVE_MEMBLOCK=y
|
||||
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
|
||||
CONFIG_HAVE_GENERIC_GUP=y
|
||||
CONFIG_ARCH_DISCARD_MEMBLOCK=y
|
||||
CONFIG_MEMORY_ISOLATION=y
|
||||
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
|
||||
@ -550,6 +558,8 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
|
||||
CONFIG_ARCH_WANTS_THP_SWAP=y
|
||||
CONFIG_THP_SWAP=y
|
||||
CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
|
||||
# CONFIG_CLEANCACHE is not set
|
||||
# CONFIG_FRONTSWAP is not set
|
||||
@ -562,9 +572,11 @@ CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
|
||||
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
|
||||
# CONFIG_IDLE_PAGE_TRACKING is not set
|
||||
CONFIG_ARCH_HAS_ZONE_DEVICE=y
|
||||
CONFIG_ZONE_DEVICE=y
|
||||
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
|
||||
CONFIG_ARCH_HAS_PKEYS=y
|
||||
# CONFIG_PERCPU_STATS is not set
|
||||
# CONFIG_X86_PMEM_LEGACY is not set
|
||||
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
||||
CONFIG_X86_RESERVE_LOW=64
|
||||
@ -748,6 +760,7 @@ CONFIG_PCI_STUB=y
|
||||
CONFIG_XEN_PCIDEV_FRONTEND=y
|
||||
CONFIG_HT_IRQ=y
|
||||
CONFIG_PCI_ATS=y
|
||||
CONFIG_PCI_LOCKLESS_CONFIG=y
|
||||
CONFIG_PCI_IOV=y
|
||||
CONFIG_PCI_PRI=y
|
||||
CONFIG_PCI_PASID=y
|
||||
@ -814,6 +827,7 @@ CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_UNIX_DIAG=y
|
||||
# CONFIG_TLS is not set
|
||||
CONFIG_XFRM=y
|
||||
CONFIG_XFRM_ALGO=m
|
||||
CONFIG_XFRM_USER=m
|
||||
@ -1479,7 +1493,6 @@ CONFIG_VIRTIO_BLK=y
|
||||
# CONFIG_BLK_DEV_RSXX is not set
|
||||
CONFIG_NVME_CORE=y
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
CONFIG_BLK_DEV_NVME_SCSI=y
|
||||
# CONFIG_NVME_FC is not set
|
||||
|
||||
#
|
||||
@ -1570,6 +1583,7 @@ CONFIG_BLK_DEV_NVME_SCSI=y
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_CXL_BASE is not set
|
||||
# CONFIG_CXL_AFU_DRIVER_OPS is not set
|
||||
# CONFIG_CXL_LIB is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
@ -1905,9 +1919,11 @@ CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_CORE=m
|
||||
CONFIG_MLX4_DEBUG=y
|
||||
CONFIG_MLX5_CORE=m
|
||||
# CONFIG_MLX5_FPGA is not set
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
# CONFIG_MLX5_CORE_IPOIB is not set
|
||||
# CONFIG_MLXSW_CORE is not set
|
||||
# CONFIG_MLXFW is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MYRI is not set
|
||||
# CONFIG_FEALNX is not set
|
||||
@ -1946,6 +1962,7 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
# CONFIG_HIPPI is not set
|
||||
# CONFIG_NET_SB1000 is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
# CONFIG_MDIO_THUNDER is not set
|
||||
CONFIG_PHYLIB=y
|
||||
@ -1960,6 +1977,7 @@ CONFIG_PHYLIB=y
|
||||
# CONFIG_BCM87XX_PHY is not set
|
||||
# CONFIG_BROADCOM_PHY is not set
|
||||
# CONFIG_CICADA_PHY is not set
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
# CONFIG_DAVICOM_PHY is not set
|
||||
# CONFIG_DP83848_PHY is not set
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
@ -1969,6 +1987,7 @@ CONFIG_PHYLIB=y
|
||||
# CONFIG_LSI_ET1011C_PHY is not set
|
||||
# CONFIG_LXT_PHY is not set
|
||||
# CONFIG_MARVELL_PHY is not set
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
# CONFIG_MICREL_PHY is not set
|
||||
# CONFIG_MICROCHIP_PHY is not set
|
||||
# CONFIG_MICROSEMI_PHY is not set
|
||||
@ -2036,6 +2055,7 @@ CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_QT1070 is not set
|
||||
# CONFIG_KEYBOARD_QT2160 is not set
|
||||
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_TCA6416 is not set
|
||||
# CONFIG_KEYBOARD_TCA8418 is not set
|
||||
@ -2271,10 +2291,6 @@ CONFIG_I2C_ALGOBIT=m
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPMI is not set
|
||||
# CONFIG_HSI is not set
|
||||
|
||||
#
|
||||
# PPS support
|
||||
#
|
||||
CONFIG_PPS=y
|
||||
# CONFIG_PPS_DEBUG is not set
|
||||
|
||||
@ -2516,6 +2532,7 @@ CONFIG_MFD_CORE=y
|
||||
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
|
||||
CONFIG_LPC_ICH=y
|
||||
CONFIG_LPC_SCH=y
|
||||
# CONFIG_INTEL_SOC_PMIC_CHTWC is not set
|
||||
# CONFIG_MFD_INTEL_LPSS_ACPI is not set
|
||||
# CONFIG_MFD_INTEL_LPSS_PCI is not set
|
||||
# CONFIG_MFD_JANZ_CMODIO is not set
|
||||
@ -2720,6 +2737,7 @@ CONFIG_HID_GENERIC=y
|
||||
# CONFIG_HID_WALTOP is not set
|
||||
# CONFIG_HID_GYRATION is not set
|
||||
# CONFIG_HID_ICADE is not set
|
||||
# CONFIG_HID_ITE is not set
|
||||
# CONFIG_HID_TWINHAN is not set
|
||||
# CONFIG_HID_KENSINGTON is not set
|
||||
# CONFIG_HID_LCPOWER is not set
|
||||
@ -2739,6 +2757,7 @@ CONFIG_HID_GENERIC=y
|
||||
# CONFIG_HID_PICOLCD is not set
|
||||
# CONFIG_HID_PLANTRONICS is not set
|
||||
# CONFIG_HID_PRIMAX is not set
|
||||
# CONFIG_HID_RETRODE is not set
|
||||
# CONFIG_HID_ROCCAT is not set
|
||||
# CONFIG_HID_SAITEK is not set
|
||||
# CONFIG_HID_SAMSUNG is not set
|
||||
@ -2882,7 +2901,6 @@ CONFIG_USB_UHCI_HCD=m
|
||||
# CONFIG_USB_HSIC_USB4604 is not set
|
||||
# CONFIG_USB_LINK_LAYER_TEST is not set
|
||||
# CONFIG_USB_CHAOSKEY is not set
|
||||
# CONFIG_UCSI is not set
|
||||
|
||||
#
|
||||
# USB Physical Layer drivers
|
||||
@ -2895,6 +2913,7 @@ CONFIG_USB_UHCI_HCD=m
|
||||
#
|
||||
# USB Power Delivery and Type-C drivers
|
||||
#
|
||||
# CONFIG_TYPEC_UCSI is not set
|
||||
# CONFIG_USB_ULPI_BUS is not set
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
@ -2912,6 +2931,7 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
|
||||
CONFIG_RTC_SYSTOHC=y
|
||||
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
|
||||
# CONFIG_RTC_DEBUG is not set
|
||||
CONFIG_RTC_NVMEM=y
|
||||
|
||||
#
|
||||
# RTC interfaces
|
||||
@ -2983,6 +3003,7 @@ CONFIG_RTC_DRV_CMOS=y
|
||||
#
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_FTRTC010 is not set
|
||||
|
||||
#
|
||||
# HID Sensor RTC drivers
|
||||
@ -3066,6 +3087,8 @@ CONFIG_X86_PLATFORM_DEVICES=y
|
||||
# CONFIG_INTEL_MENLOW is not set
|
||||
# CONFIG_ASUS_WIRELESS is not set
|
||||
CONFIG_ACPI_WMI=y
|
||||
CONFIG_WMI_BMOF=y
|
||||
# CONFIG_PEAQ_WMI is not set
|
||||
# CONFIG_TOPSTAR_LAPTOP is not set
|
||||
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
||||
# CONFIG_TOSHIBA_HAPS is not set
|
||||
@ -3103,10 +3126,7 @@ CONFIG_COMMON_CLK=y
|
||||
# CONFIG_COMMON_CLK_NXP is not set
|
||||
# CONFIG_COMMON_CLK_PXA is not set
|
||||
# CONFIG_COMMON_CLK_PIC32 is not set
|
||||
|
||||
#
|
||||
# Hardware Spinlock drivers
|
||||
#
|
||||
# CONFIG_HWSPINLOCK is not set
|
||||
|
||||
#
|
||||
# Clock Source drivers
|
||||
@ -3132,6 +3152,7 @@ CONFIG_PCC=y
|
||||
#
|
||||
# Rpmsg drivers
|
||||
#
|
||||
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
|
||||
|
||||
#
|
||||
# SOC (System On Chip) specific Drivers
|
||||
@ -3146,7 +3167,6 @@ CONFIG_PCC=y
|
||||
#
|
||||
# CONFIG_SUNXI_SRAM is not set
|
||||
# CONFIG_SOC_TI is not set
|
||||
# CONFIG_SOC_ZTE is not set
|
||||
CONFIG_PM_DEVFREQ=y
|
||||
|
||||
#
|
||||
@ -3173,6 +3193,7 @@ CONFIG_ARM_GIC_MAX_NR=1
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_ATH79 is not set
|
||||
# CONFIG_RESET_BERLIN is not set
|
||||
# CONFIG_RESET_GEMINI is not set
|
||||
# CONFIG_RESET_IMX7 is not set
|
||||
# CONFIG_RESET_LPC18XX is not set
|
||||
# CONFIG_RESET_MESON is not set
|
||||
@ -3180,7 +3201,7 @@ CONFIG_RESET_CONTROLLER=y
|
||||
# CONFIG_RESET_SOCFPGA is not set
|
||||
# CONFIG_RESET_STM32 is not set
|
||||
# CONFIG_RESET_SUNXI is not set
|
||||
# CONFIG_TI_SYSCON_RESET is not set
|
||||
# CONFIG_RESET_TI_SYSCON is not set
|
||||
# CONFIG_RESET_ZYNQ is not set
|
||||
# CONFIG_RESET_TEGRA_BPMP is not set
|
||||
# CONFIG_FMC is not set
|
||||
@ -3189,9 +3210,9 @@ CONFIG_RESET_CONTROLLER=y
|
||||
# PHY Subsystem
|
||||
#
|
||||
CONFIG_GENERIC_PHY=y
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# CONFIG_PHY_PXA_28NM_HSIC is not set
|
||||
# CONFIG_PHY_PXA_28NM_USB2 is not set
|
||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||
# CONFIG_POWERCAP is not set
|
||||
# CONFIG_MCB is not set
|
||||
|
||||
@ -3324,6 +3345,7 @@ CONFIG_FUSE_FS=y
|
||||
CONFIG_CUSE=y
|
||||
CONFIG_OVERLAY_FS=y
|
||||
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
|
||||
# CONFIG_OVERLAY_FS_INDEX is not set
|
||||
|
||||
#
|
||||
# Caches
|
||||
@ -3452,8 +3474,8 @@ CONFIG_CIFS_POSIX=y
|
||||
# CONFIG_CIFS_ACL is not set
|
||||
CONFIG_CIFS_DEBUG=y
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
|
||||
CONFIG_CIFS_DFS_UPCALL=y
|
||||
CONFIG_CIFS_SMB2=y
|
||||
# CONFIG_CIFS_SMB311 is not set
|
||||
CONFIG_CIFS_FSCACHE=y
|
||||
# CONFIG_NCP_FS is not set
|
||||
@ -3548,7 +3570,6 @@ CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
||||
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
|
||||
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
||||
# CONFIG_FRAME_POINTER is not set
|
||||
# CONFIG_STACK_VALIDATION is not set
|
||||
@ -3591,6 +3612,9 @@ CONFIG_ARCH_HAS_KCOV=y
|
||||
# Debug Lockups and Hangs
|
||||
#
|
||||
CONFIG_LOCKUP_DETECTOR=y
|
||||
CONFIG_SOFTLOCKUP_DETECTOR=y
|
||||
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
|
||||
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
|
||||
CONFIG_HARDLOCKUP_DETECTOR=y
|
||||
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
|
||||
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
|
||||
@ -3625,6 +3649,7 @@ CONFIG_SCHED_INFO=y
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
# CONFIG_WW_MUTEX_SELFTEST is not set
|
||||
CONFIG_STACKTRACE=y
|
||||
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
CONFIG_DEBUG_LIST=y
|
||||
@ -3637,7 +3662,6 @@ CONFIG_DEBUG_CREDENTIALS=y
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_SPARSE_RCU_POINTER is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
@ -3696,7 +3720,7 @@ CONFIG_MMIOTRACE=y
|
||||
# CONFIG_TRACEPOINT_BENCHMARK is not set
|
||||
# CONFIG_RING_BUFFER_BENCHMARK is not set
|
||||
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
|
||||
# CONFIG_TRACE_ENUM_MAP_FILE is not set
|
||||
# CONFIG_TRACE_EVAL_MAP_FILE is not set
|
||||
|
||||
#
|
||||
# Runtime Testing
|
||||
@ -3724,10 +3748,12 @@ CONFIG_MMIOTRACE=y
|
||||
# CONFIG_TEST_USER_COPY is not set
|
||||
# CONFIG_TEST_BPF is not set
|
||||
# CONFIG_TEST_FIRMWARE is not set
|
||||
# CONFIG_TEST_SYSCTL is not set
|
||||
# CONFIG_TEST_UDELAY is not set
|
||||
# CONFIG_MEMTEST is not set
|
||||
# CONFIG_TEST_STATIC_KEYS is not set
|
||||
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
# CONFIG_TEST_KMOD is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
# CONFIG_KGDB is not set
|
||||
@ -3791,6 +3817,7 @@ CONFIG_SECURITY_PATH=y
|
||||
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
|
||||
CONFIG_HARDENED_USERCOPY=y
|
||||
# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
|
||||
CONFIG_FORTIFY_SOURCE=y
|
||||
CONFIG_STATIC_USERMODEHELPER=y
|
||||
CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper"
|
||||
# CONFIG_SECURITY_SELINUX is not set
|
||||
@ -3989,6 +4016,7 @@ CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
|
||||
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
|
||||
# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
|
||||
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=y
|
||||
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
||||
@ -4050,6 +4078,7 @@ CONFIG_CRC32_SLICEBY8=y
|
||||
# CONFIG_CRC32_SLICEBY4 is not set
|
||||
# CONFIG_CRC32_SARWATE is not set
|
||||
# CONFIG_CRC32_BIT is not set
|
||||
# CONFIG_CRC4 is not set
|
||||
# CONFIG_CRC7 is not set
|
||||
CONFIG_LIBCRC32C=y
|
||||
# CONFIG_CRC8 is not set
|
||||
@ -4107,5 +4136,6 @@ CONFIG_FONT_8x16=y
|
||||
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_MMIO_FLUSH=y
|
||||
CONFIG_SBITMAP=y
|
@ -1,290 +0,0 @@
|
||||
From 8f3be076c9346e0e936ac1f2ba90f0726eae57ba Mon Sep 17 00:00:00 2001
|
||||
From: "K. Y. Srinivasan" <kys@microsoft.com>
|
||||
Date: Sun, 30 Apr 2017 16:21:18 -0700
|
||||
Subject: [PATCH 10/18] Drivers: hv: vmbus: Fix rescind handling
|
||||
|
||||
Fix the rescind handling. This patch addresses the following rescind
|
||||
scenario that is currently not handled correctly:
|
||||
|
||||
If a rescind were to be received while the offer is still being
|
||||
peocessed, we will be blocked indefinitely since the rescind message
|
||||
is handled on the same work element as the offer message. Fix this
|
||||
issue.
|
||||
|
||||
I would like to thank Dexuan Cui <decui@microsoft.com> and
|
||||
Long Li <longli@microsoft.com> for working with me on this patch.
|
||||
|
||||
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
(cherry picked from commit 81304747d9bcba135c9a9d534f3a3190bca92339)
|
||||
---
|
||||
drivers/hv/channel.c | 8 ++++--
|
||||
drivers/hv/channel_mgmt.c | 69 ++++++++++++++++++++++++++++++++++++-----------
|
||||
drivers/hv/connection.c | 7 +++--
|
||||
drivers/hv/hyperv_vmbus.h | 7 +++++
|
||||
drivers/hv/vmbus_drv.c | 29 +++++++++++++++++++-
|
||||
5 files changed, 99 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 663e3d78247a..d4243b5c39b7 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -636,9 +636,13 @@ void vmbus_close(struct vmbus_channel *channel)
|
||||
*/
|
||||
list_for_each_safe(cur, tmp, &channel->sc_list) {
|
||||
cur_channel = list_entry(cur, struct vmbus_channel, sc_list);
|
||||
- if (cur_channel->state != CHANNEL_OPENED_STATE)
|
||||
- continue;
|
||||
vmbus_close_internal(cur_channel);
|
||||
+ if (cur_channel->rescind) {
|
||||
+ mutex_lock(&vmbus_connection.channel_mutex);
|
||||
+ hv_process_channel_removal(cur_channel,
|
||||
+ cur_channel->offermsg.child_relid);
|
||||
+ mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
+ }
|
||||
}
|
||||
/*
|
||||
* Now close the primary.
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index f4dda5ecfa0b..f5296548cdc9 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -441,7 +441,6 @@ void vmbus_free_channels(void)
|
||||
{
|
||||
struct vmbus_channel *channel, *tmp;
|
||||
|
||||
- mutex_lock(&vmbus_connection.channel_mutex);
|
||||
list_for_each_entry_safe(channel, tmp, &vmbus_connection.chn_list,
|
||||
listentry) {
|
||||
/* hv_process_channel_removal() needs this */
|
||||
@@ -449,7 +448,6 @@ void vmbus_free_channels(void)
|
||||
|
||||
vmbus_device_unregister(channel->device_obj);
|
||||
}
|
||||
- mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -496,8 +494,10 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
list_add_tail(&newchannel->sc_list, &channel->sc_list);
|
||||
channel->num_sc++;
|
||||
spin_unlock_irqrestore(&channel->lock, flags);
|
||||
- } else
|
||||
+ } else {
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
goto err_free_chan;
|
||||
+ }
|
||||
}
|
||||
|
||||
dev_type = hv_get_dev_type(newchannel);
|
||||
@@ -514,6 +514,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
if (!fnew) {
|
||||
if (channel->sc_creation_callback != NULL)
|
||||
channel->sc_creation_callback(newchannel);
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -535,9 +536,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
* binding which eventually invokes the device driver's AddDevice()
|
||||
* method.
|
||||
*/
|
||||
- mutex_lock(&vmbus_connection.channel_mutex);
|
||||
ret = vmbus_device_register(newchannel->device_obj);
|
||||
- mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
if (ret != 0) {
|
||||
pr_err("unable to add child device object (relid %d)\n",
|
||||
@@ -545,6 +544,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
kfree(newchannel->device_obj);
|
||||
goto err_deq_chan;
|
||||
}
|
||||
+
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
@@ -791,6 +792,7 @@ static void vmbus_onoffer(struct vmbus_channel_message_header *hdr)
|
||||
newchannel = alloc_channel();
|
||||
if (!newchannel) {
|
||||
vmbus_release_relid(offer->child_relid);
|
||||
+ atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
pr_err("Unable to allocate channel object\n");
|
||||
return;
|
||||
}
|
||||
@@ -837,16 +839,38 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
|
||||
rescind = (struct vmbus_channel_rescind_offer *)hdr;
|
||||
|
||||
+ /*
|
||||
+ * The offer msg and the corresponding rescind msg
|
||||
+ * from the host are guranteed to be ordered -
|
||||
+ * offer comes in first and then the rescind.
|
||||
+ * Since we process these events in work elements,
|
||||
+ * and with preemption, we may end up processing
|
||||
+ * the events out of order. Given that we handle these
|
||||
+ * work elements on the same CPU, this is possible only
|
||||
+ * in the case of preemption. In any case wait here
|
||||
+ * until the offer processing has moved beyond the
|
||||
+ * point where the channel is discoverable.
|
||||
+ */
|
||||
+
|
||||
+ while (atomic_read(&vmbus_connection.offer_in_progress) != 0) {
|
||||
+ /*
|
||||
+ * We wait here until any channel offer is currently
|
||||
+ * being processed.
|
||||
+ */
|
||||
+ msleep(1);
|
||||
+ }
|
||||
+
|
||||
mutex_lock(&vmbus_connection.channel_mutex);
|
||||
channel = relid2channel(rescind->child_relid);
|
||||
+ mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
|
||||
if (channel == NULL) {
|
||||
/*
|
||||
- * This is very impossible, because in
|
||||
- * vmbus_process_offer(), we have already invoked
|
||||
- * vmbus_release_relid() on error.
|
||||
+ * We failed in processing the offer message;
|
||||
+ * we would have cleaned up the relid in that
|
||||
+ * failure path.
|
||||
*/
|
||||
- goto out;
|
||||
+ return;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&channel->lock, flags);
|
||||
@@ -858,7 +882,7 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
if (channel->device_obj) {
|
||||
if (channel->chn_rescind_callback) {
|
||||
channel->chn_rescind_callback(channel);
|
||||
- goto out;
|
||||
+ return;
|
||||
}
|
||||
/*
|
||||
* We will have to unregister this device from the
|
||||
@@ -869,13 +893,26 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
vmbus_device_unregister(channel->device_obj);
|
||||
put_device(dev);
|
||||
}
|
||||
- } else {
|
||||
- hv_process_channel_removal(channel,
|
||||
- channel->offermsg.child_relid);
|
||||
}
|
||||
-
|
||||
-out:
|
||||
- mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
+ if (channel->primary_channel != NULL) {
|
||||
+ /*
|
||||
+ * Sub-channel is being rescinded. Following is the channel
|
||||
+ * close sequence when initiated from the driveri (refer to
|
||||
+ * vmbus_close() for details):
|
||||
+ * 1. Close all sub-channels first
|
||||
+ * 2. Then close the primary channel.
|
||||
+ */
|
||||
+ if (channel->state == CHANNEL_OPEN_STATE) {
|
||||
+ /*
|
||||
+ * The channel is currently not open;
|
||||
+ * it is safe for us to cleanup the channel.
|
||||
+ */
|
||||
+ mutex_lock(&vmbus_connection.channel_mutex);
|
||||
+ hv_process_channel_removal(channel,
|
||||
+ channel->offermsg.child_relid);
|
||||
+ mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
void vmbus_hvsock_device_unregister(struct vmbus_channel *channel)
|
||||
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
|
||||
index fce27fb141cc..b78ee787def0 100644
|
||||
--- a/drivers/hv/connection.c
|
||||
+++ b/drivers/hv/connection.c
|
||||
@@ -93,10 +93,13 @@ static int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo,
|
||||
* all the CPUs. This is needed for kexec to work correctly where
|
||||
* the CPU attempting to connect may not be CPU 0.
|
||||
*/
|
||||
- if (version >= VERSION_WIN8_1)
|
||||
+ if (version >= VERSION_WIN8_1) {
|
||||
msg->target_vcpu = hv_context.vp_index[smp_processor_id()];
|
||||
- else
|
||||
+ vmbus_connection.connect_cpu = smp_processor_id();
|
||||
+ } else {
|
||||
msg->target_vcpu = 0;
|
||||
+ vmbus_connection.connect_cpu = 0;
|
||||
+ }
|
||||
|
||||
/*
|
||||
* Add to list before we send the request since we may
|
||||
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
|
||||
index 6113e915c50e..8ce4ae1c78d0 100644
|
||||
--- a/drivers/hv/hyperv_vmbus.h
|
||||
+++ b/drivers/hv/hyperv_vmbus.h
|
||||
@@ -303,6 +303,13 @@ enum vmbus_connect_state {
|
||||
#define MAX_SIZE_CHANNEL_MESSAGE HV_MESSAGE_PAYLOAD_BYTE_COUNT
|
||||
|
||||
struct vmbus_connection {
|
||||
+ /*
|
||||
+ * CPU on which the initial host contact was made.
|
||||
+ */
|
||||
+ int connect_cpu;
|
||||
+
|
||||
+ atomic_t offer_in_progress;
|
||||
+
|
||||
enum vmbus_connect_state conn_state;
|
||||
|
||||
atomic_t next_gpadl_handle;
|
||||
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
|
||||
index 0087b49095eb..59bb3efa6e10 100644
|
||||
--- a/drivers/hv/vmbus_drv.c
|
||||
+++ b/drivers/hv/vmbus_drv.c
|
||||
@@ -798,8 +798,10 @@ static void vmbus_device_release(struct device *device)
|
||||
struct hv_device *hv_dev = device_to_hv_device(device);
|
||||
struct vmbus_channel *channel = hv_dev->channel;
|
||||
|
||||
+ mutex_lock(&vmbus_connection.channel_mutex);
|
||||
hv_process_channel_removal(channel,
|
||||
channel->offermsg.child_relid);
|
||||
+ mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
kfree(hv_dev);
|
||||
|
||||
}
|
||||
@@ -877,7 +879,32 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
INIT_WORK(&ctx->work, vmbus_onmessage_work);
|
||||
memcpy(&ctx->msg, msg, sizeof(*msg));
|
||||
|
||||
- queue_work(vmbus_connection.work_queue, &ctx->work);
|
||||
+ /*
|
||||
+ * The host can generate a rescind message while we
|
||||
+ * may still be handling the original offer. We deal with
|
||||
+ * this condition by ensuring the processing is done on the
|
||||
+ * same CPU.
|
||||
+ */
|
||||
+ switch (hdr->msgtype) {
|
||||
+ case CHANNELMSG_RESCIND_CHANNELOFFER:
|
||||
+ /*
|
||||
+ * If we are handling the rescind message;
|
||||
+ * schedule the work on the global work queue.
|
||||
+ */
|
||||
+ schedule_work_on(vmbus_connection.connect_cpu,
|
||||
+ &ctx->work);
|
||||
+ break;
|
||||
+
|
||||
+ case CHANNELMSG_OFFERCHANNEL:
|
||||
+ atomic_inc(&vmbus_connection.offer_in_progress);
|
||||
+ queue_work_on(vmbus_connection.connect_cpu,
|
||||
+ vmbus_connection.work_queue,
|
||||
+ &ctx->work);
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ queue_work(vmbus_connection.work_queue, &ctx->work);
|
||||
+ }
|
||||
} else
|
||||
entry->message_handler(hdr);
|
||||
|
||||
--
|
||||
2.14.1
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 719ca004afba9f32ea6676df68a023d9ec3e4e06 Mon Sep 17 00:00:00 2001
|
||||
From 3baa01d9020acfc22f2c12af721befce0d64f670 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:12 -0600
|
||||
Subject: [PATCH 01/18] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
Subject: [PATCH 01/17] vmbus: vmbus_open(): reset onchannel_callback on error
|
||||
|
||||
No real issue is observed without the patch, but let's add this
|
||||
just in case.
|
||||
@ -17,7 +17,7 @@ Origin: git@github.com:dcui/linux.git
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 3cea1216754e..6ef18e9e3eca 100644
|
||||
index e57cc40cb768..6e172cdf42f7 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -220,6 +220,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
@ -1,7 +1,7 @@
|
||||
From 0f10dde0988e2cac2d8872bf99c71334a5841598 Mon Sep 17 00:00:00 2001
|
||||
From 93ac962f7611de9759ff2f0697ca40725aa979f8 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:20 -0600
|
||||
Subject: [PATCH 02/18] vmbus: remove "goto error_clean_msglist" in
|
||||
Subject: [PATCH 02/17] vmbus: remove "goto error_clean_msglist" in
|
||||
vmbus_open()
|
||||
|
||||
This is just a cleanup patch to simplify the code a little.
|
||||
@ -18,7 +18,7 @@ Origin: git@github.com:dcui/linux.git
|
||||
1 file changed, 7 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index 6ef18e9e3eca..ee1e87eec16f 100644
|
||||
index 6e172cdf42f7..42498ecd0f02 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -180,17 +180,18 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
@ -1,7 +1,7 @@
|
||||
From 2010a50ed2e3c058c00e9b606331775f3d29760d Mon Sep 17 00:00:00 2001
|
||||
From 038dde9e9da90707062ebf934ee837b450454f2c Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:23 -0600
|
||||
Subject: [PATCH 03/18] vmbus: dynamically enqueue/dequeue a channel on
|
||||
Subject: [PATCH 03/17] vmbus: dynamically enqueue/dequeue a channel on
|
||||
vmbus_open/close
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -31,7 +31,7 @@ Origin: git@github.com:dcui/linux.git
|
||||
3 files changed, 34 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
|
||||
index ee1e87eec16f..663e3d78247a 100644
|
||||
index 42498ecd0f02..d4243b5c39b7 100644
|
||||
--- a/drivers/hv/channel.c
|
||||
+++ b/drivers/hv/channel.c
|
||||
@@ -177,6 +177,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
|
||||
@ -82,10 +82,10 @@ index ee1e87eec16f..663e3d78247a 100644
|
||||
channel->sc_creation_callback = NULL;
|
||||
/* Stop callback and cancel the timer asap */
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 735f9363f2e4..f4dda5ecfa0b 100644
|
||||
index 4bbb8dea4727..1afa7a699dd2 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -363,6 +363,17 @@ static void percpu_channel_enq(void *arg)
|
||||
@@ -362,6 +362,17 @@ static void percpu_channel_enq(void *arg)
|
||||
list_add_tail_rcu(&channel->percpu_list, &hv_cpu->chan_list);
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ index 735f9363f2e4..f4dda5ecfa0b 100644
|
||||
static void percpu_channel_deq(void *arg)
|
||||
{
|
||||
struct vmbus_channel *channel = arg;
|
||||
@@ -370,6 +381,17 @@ static void percpu_channel_deq(void *arg)
|
||||
@@ -369,6 +380,17 @@ static void percpu_channel_deq(void *arg)
|
||||
list_del_rcu(&channel->percpu_list);
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ index 735f9363f2e4..f4dda5ecfa0b 100644
|
||||
|
||||
static void vmbus_release_relid(u32 relid)
|
||||
{
|
||||
@@ -390,15 +412,6 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
@@ -389,15 +411,6 @@ void hv_process_channel_removal(struct vmbus_channel *channel, u32 relid)
|
||||
BUG_ON(!channel->rescind);
|
||||
BUG_ON(!mutex_is_locked(&vmbus_connection.channel_mutex));
|
||||
|
||||
@ -137,7 +137,7 @@ index 735f9363f2e4..f4dda5ecfa0b 100644
|
||||
if (channel->primary_channel == NULL) {
|
||||
list_del(&channel->listentry);
|
||||
|
||||
@@ -491,16 +504,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -490,16 +503,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
|
||||
init_vp_index(newchannel, dev_type);
|
||||
|
||||
@ -171,10 +171,10 @@ index 735f9363f2e4..f4dda5ecfa0b 100644
|
||||
|
||||
err_free_chan:
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index e09fc8290c2f..b6975010e798 100644
|
||||
index b7d7bbec74e0..f5d3e8c01401 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -1454,6 +1454,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
|
||||
@@ -1453,6 +1453,9 @@ extern bool vmbus_prep_negotiate_resp(struct icmsg_hdr *icmsghdrp, u8 *buf,
|
||||
const int *srv_version, int srv_vercnt,
|
||||
int *nego_fw_version, int *nego_srv_version);
|
||||
|
@ -1,7 +1,7 @@
|
||||
From d8721bf7ff95eca665175a735ade87ead94ebe4f Mon Sep 17 00:00:00 2001
|
||||
From e3e97eb80152a7c838a9e7e8f43def045804b095 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:26 -0600
|
||||
Subject: [PATCH 04/18] hv_sock: implements Hyper-V transport for Virtual
|
||||
Subject: [PATCH 04/17] hv_sock: implements Hyper-V transport for Virtual
|
||||
Sockets (AF_VSOCK)
|
||||
|
||||
Hyper-V Sockets (hv_sock) supplies a byte-stream based communication
|
||||
@ -45,10 +45,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
create mode 100644 net/vmw_vsock/hyperv_transport.c
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 767e9d202adf..db1209547aa4 100644
|
||||
index 1c3feffb1c1c..6b8572bac997 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -6178,6 +6178,7 @@ F: drivers/net/hyperv/
|
||||
@@ -6269,6 +6269,7 @@ F: drivers/net/hyperv/
|
||||
F: drivers/scsi/storvsc_drv.c
|
||||
F: drivers/uio/uio_hv_generic.c
|
||||
F: drivers/video/fbdev/hyperv_fb.c
|
@ -1,7 +1,7 @@
|
||||
From 51c4ad16070fb7144f85076cf47f07918be76ade Mon Sep 17 00:00:00 2001
|
||||
From 9b4c1e60de5ec4ec7529192ad08f9ececb59f222 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:29 -0600
|
||||
Subject: [PATCH 05/18] VMCI: only try to load on VMware hypervisor
|
||||
Subject: [PATCH 05/17] VMCI: only try to load on VMware hypervisor
|
||||
|
||||
Without the patch, vmw_vsock_vmci_transport.ko and vmw_vmci.ko can
|
||||
automatically load when an application creates an AF_VSOCK socket.
|
@ -1,7 +1,7 @@
|
||||
From 6b56702fbd9099f7e58c4cc8093e25e4b62c06d9 Mon Sep 17 00:00:00 2001
|
||||
From ea541a109f7928307dcd678e09d4b1065b793170 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 16:57:35 -0600
|
||||
Subject: [PATCH 06/18] hv_sock: add the support of auto-loading
|
||||
Subject: [PATCH 06/17] hv_sock: add the support of auto-loading
|
||||
|
||||
After we disable VMWare virtual sockets driver's auto-loading on Hyper-V,
|
||||
we can enable hv_sock's auto-loading now.
|
@ -1,7 +1,7 @@
|
||||
From 50484ef9bc6ade9f9cd6ed2900a63e754b7ed1a0 Mon Sep 17 00:00:00 2001
|
||||
From e16c7250e59620a80d69bc09fa1f27b172ec36f8 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 5 May 2017 18:52:02 -0600
|
||||
Subject: [PATCH 07/18] tools: hv_sock: 2 simple test cases.
|
||||
Subject: [PATCH 07/17] tools: hv_sock: 2 simple test cases.
|
||||
|
||||
Please read this document first:
|
||||
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service
|
@ -1,7 +1,7 @@
|
||||
From 42c91eb42712932616f9476d24513d76e0448974 Mon Sep 17 00:00:00 2001
|
||||
From 23e9f20866ec54fdabc70eee026f7bd94ab0eb88 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Tue, 16 May 2017 22:14:03 +0800
|
||||
Subject: [PATCH 08/18] hvsock: fix a race in hvs_stream_dequeue()
|
||||
Subject: [PATCH 08/17] hvsock: fix a race in hvs_stream_dequeue()
|
||||
|
||||
If hv_pkt_iter_next() returns a non-NULL pointer, we must update
|
||||
the recv_data_len/data_off info, otherwise the received data will
|
@ -1,7 +1,7 @@
|
||||
From 771d89f09552f7b259fa35712c7d8a4566a508ed Mon Sep 17 00:00:00 2001
|
||||
From 4efe84d10e9a430453027a087857256d4850cd99 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 19 May 2017 21:49:59 +0800
|
||||
Subject: [PATCH 09/18] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
Subject: [PATCH 09/17] hvsock: fix vsock_dequeue/enqueue_accept race
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
@ -1,7 +1,7 @@
|
||||
From 7cca5a76d748d3522239f82d6e0b02dae2513d5b Mon Sep 17 00:00:00 2001
|
||||
From defed6c02a8011530d57343ac76af671be1a20e6 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 5 Jun 2017 16:13:18 +0800
|
||||
Subject: [PATCH 11/18] vmbus: fix hv_percpu_channel_deq/enq race
|
||||
Subject: [PATCH 10/17] vmbus: fix hv_percpu_channel_deq/enq race
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
@ -14,10 +14,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
4 files changed, 95 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index f5296548cdc9..19ad79099492 100644
|
||||
index 1afa7a699dd2..117157c8e284 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -365,11 +365,16 @@ static void percpu_channel_enq(void *arg)
|
||||
@@ -364,11 +364,16 @@ static void percpu_channel_enq(void *arg)
|
||||
|
||||
void hv_percpu_channel_enq(struct vmbus_channel *channel)
|
||||
{
|
||||
@ -35,7 +35,7 @@ index f5296548cdc9..19ad79099492 100644
|
||||
|
||||
put_cpu();
|
||||
}
|
||||
@@ -383,11 +388,16 @@ static void percpu_channel_deq(void *arg)
|
||||
@@ -382,11 +387,16 @@ static void percpu_channel_deq(void *arg)
|
||||
|
||||
void hv_percpu_channel_deq(struct vmbus_channel *channel)
|
||||
{
|
||||
@ -53,7 +53,7 @@ index f5296548cdc9..19ad79099492 100644
|
||||
|
||||
put_cpu();
|
||||
}
|
||||
@@ -495,7 +505,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -494,7 +504,6 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
channel->num_sc++;
|
||||
spin_unlock_irqrestore(&channel->lock, flags);
|
||||
} else {
|
||||
@ -61,7 +61,7 @@ index f5296548cdc9..19ad79099492 100644
|
||||
goto err_free_chan;
|
||||
}
|
||||
}
|
||||
@@ -549,6 +558,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -548,6 +557,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
@ -69,7 +69,7 @@ index f5296548cdc9..19ad79099492 100644
|
||||
mutex_lock(&vmbus_connection.channel_mutex);
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
@@ -915,16 +925,28 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
@@ -914,16 +924,28 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ index f5296548cdc9..19ad79099492 100644
|
||||
EXPORT_SYMBOL_GPL(vmbus_hvsock_device_unregister);
|
||||
|
||||
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c
|
||||
index b78ee787def0..d2c4d61ff7d3 100644
|
||||
index 59c11ff90d12..a79b615b2d98 100644
|
||||
--- a/drivers/hv/connection.c
|
||||
+++ b/drivers/hv/connection.c
|
||||
@@ -156,6 +156,12 @@ int vmbus_connect(void)
|
||||
@ -130,7 +130,7 @@ index b78ee787def0..d2c4d61ff7d3 100644
|
||||
drain_workqueue(vmbus_connection.work_queue);
|
||||
destroy_workqueue(vmbus_connection.work_queue);
|
||||
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
|
||||
index 8ce4ae1c78d0..7b8603a00555 100644
|
||||
index 1b6a5e0dfa75..80270384053e 100644
|
||||
--- a/drivers/hv/hyperv_vmbus.h
|
||||
+++ b/drivers/hv/hyperv_vmbus.h
|
||||
@@ -339,6 +339,7 @@ struct vmbus_connection {
|
||||
@ -142,10 +142,10 @@ index 8ce4ae1c78d0..7b8603a00555 100644
|
||||
|
||||
|
||||
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
|
||||
index 59bb3efa6e10..fd221cffeb4d 100644
|
||||
index ed84e96715a0..fb50edf6ad17 100644
|
||||
--- a/drivers/hv/vmbus_drv.c
|
||||
+++ b/drivers/hv/vmbus_drv.c
|
||||
@@ -837,6 +837,52 @@ static void vmbus_onmessage_work(struct work_struct *work)
|
||||
@@ -806,6 +806,52 @@ static void vmbus_onmessage_work(struct work_struct *work)
|
||||
kfree(ctx);
|
||||
}
|
||||
|
||||
@ -198,7 +198,7 @@ index 59bb3efa6e10..fd221cffeb4d 100644
|
||||
static void hv_process_timer_expiration(struct hv_message *msg,
|
||||
struct hv_per_cpu_context *hv_cpu)
|
||||
{
|
||||
@@ -876,9 +922,10 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
@@ -845,9 +891,10 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
if (ctx == NULL)
|
||||
return;
|
||||
|
||||
@ -210,7 +210,7 @@ index 59bb3efa6e10..fd221cffeb4d 100644
|
||||
/*
|
||||
* The host can generate a rescind message while we
|
||||
* may still be handling the original offer. We deal with
|
||||
@@ -891,8 +938,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
@@ -860,8 +907,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
* If we are handling the rescind message;
|
||||
* schedule the work on the global work queue.
|
||||
*/
|
||||
@ -222,7 +222,7 @@ index 59bb3efa6e10..fd221cffeb4d 100644
|
||||
break;
|
||||
|
||||
case CHANNELMSG_OFFERCHANNEL:
|
||||
@@ -905,6 +953,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
@@ -874,6 +922,9 @@ void vmbus_on_msg_dpc(unsigned long data)
|
||||
default:
|
||||
queue_work(vmbus_connection.work_queue, &ctx->work);
|
||||
}
|
||||
@ -232,7 +232,7 @@ index 59bb3efa6e10..fd221cffeb4d 100644
|
||||
} else
|
||||
entry->message_handler(hdr);
|
||||
|
||||
@@ -1202,6 +1253,8 @@ int vmbus_device_register(struct hv_device *child_device_obj)
|
||||
@@ -1171,6 +1222,8 @@ int vmbus_device_register(struct hv_device *child_device_obj)
|
||||
child_device_obj->device.parent = &hv_acpi_dev->dev;
|
||||
child_device_obj->device.release = vmbus_device_release;
|
||||
|
@ -1,7 +1,7 @@
|
||||
From cf55ec1e609456fc2a21d6c66f0419d03975462f Mon Sep 17 00:00:00 2001
|
||||
From 962c7f190b5cc925205ba102642d8e4f4e37e874 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Mon, 5 Jun 2017 21:32:00 +0800
|
||||
Subject: [PATCH 12/18] vmbus: add vmbus onoffer/onoffer_rescind sync.
|
||||
Subject: [PATCH 11/17] vmbus: add vmbus onoffer/onoffer_rescind sync.
|
||||
|
||||
Signed-off-by: Dexuan Cui <decui@microsoft.com>
|
||||
Origin: git@github.com:dcui/linux.git
|
||||
@ -13,10 +13,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
3 files changed, 21 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index 19ad79099492..a12b1eabc15e 100644
|
||||
index 117157c8e284..c524ca967d8f 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -467,6 +467,7 @@ void vmbus_free_channels(void)
|
||||
@@ -466,6 +466,7 @@ void vmbus_free_channels(void)
|
||||
static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
{
|
||||
struct vmbus_channel *channel;
|
||||
@ -24,7 +24,7 @@ index 19ad79099492..a12b1eabc15e 100644
|
||||
bool fnew = true;
|
||||
unsigned long flags;
|
||||
u16 dev_type;
|
||||
@@ -524,6 +525,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -523,6 +524,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
if (channel->sc_creation_callback != NULL)
|
||||
channel->sc_creation_callback(newchannel);
|
||||
atomic_dec(&vmbus_connection.offer_in_progress);
|
||||
@ -32,7 +32,7 @@ index 19ad79099492..a12b1eabc15e 100644
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -532,33 +534,36 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -531,33 +533,36 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
* We need to set the DeviceObject field before calling
|
||||
* vmbus_child_dev_add()
|
||||
*/
|
||||
@ -75,7 +75,7 @@ index 19ad79099492..a12b1eabc15e 100644
|
||||
mutex_lock(&vmbus_connection.channel_mutex);
|
||||
list_del(&newchannel->listentry);
|
||||
mutex_unlock(&vmbus_connection.channel_mutex);
|
||||
@@ -889,6 +894,14 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
@@ -888,6 +893,14 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
|
||||
vmbus_rescind_cleanup(channel);
|
||||
|
||||
@ -91,7 +91,7 @@ index 19ad79099492..a12b1eabc15e 100644
|
||||
if (channel->chn_rescind_callback) {
|
||||
channel->chn_rescind_callback(channel);
|
||||
diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
|
||||
index 7b8603a00555..30ae1d291527 100644
|
||||
index 80270384053e..5b8234994155 100644
|
||||
--- a/drivers/hv/hyperv_vmbus.h
|
||||
+++ b/drivers/hv/hyperv_vmbus.h
|
||||
@@ -309,6 +309,7 @@ struct vmbus_connection {
|
||||
@ -103,10 +103,10 @@ index 7b8603a00555..30ae1d291527 100644
|
||||
enum vmbus_connect_state conn_state;
|
||||
|
||||
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
|
||||
index fd221cffeb4d..fc6a5893d54c 100644
|
||||
index fb50edf6ad17..1647f534a1bf 100644
|
||||
--- a/drivers/hv/vmbus_drv.c
|
||||
+++ b/drivers/hv/vmbus_drv.c
|
||||
@@ -871,6 +871,7 @@ static void vmbus_dispatch_msg_work(struct work_struct *work)
|
||||
@@ -840,6 +840,7 @@ static void vmbus_dispatch_msg_work(struct work_struct *work)
|
||||
flush_workqueue(vmbus_connection.work_queue_rescind);
|
||||
|
||||
atomic_inc(&vmbus_connection.offer_in_progress);
|
@ -1,7 +1,7 @@
|
||||
From 802ab46179cf3c804bdb4f01f70e7d179fde11a8 Mon Sep 17 00:00:00 2001
|
||||
From 1f778801debf63d90361b12134933f83b8c5c0ba Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 21 Jun 2017 22:30:42 +0800
|
||||
Subject: [PATCH 13/18] hv-sock: a temporary workaround for the
|
||||
Subject: [PATCH 12/17] hv-sock: a temporary workaround for the
|
||||
pending_send_size issue
|
||||
|
||||
While I'm trying to find out the root cause, I believe this can work
|
@ -1,7 +1,7 @@
|
||||
From d3d264cd90f9fd4fff74d6cbacb5b64a09964811 Mon Sep 17 00:00:00 2001
|
||||
From 34af6a23dba87ebfc4654a256614da2caf565b8c Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Wed, 28 Jun 2017 23:50:38 +0800
|
||||
Subject: [PATCH 14/18] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
Subject: [PATCH 13/17] vmbus: fix the missed signaling in hv_signal_on_read()
|
||||
|
||||
There is an off-by-one bug here, which can cause host-to-guest write to stall.
|
||||
|
||||
@ -19,10 +19,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index b6975010e798..511d47e3ee9d 100644
|
||||
index f5d3e8c01401..cc28cd20256f 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -1518,11 +1518,11 @@ static inline void hv_signal_on_read(struct vmbus_channel *channel)
|
||||
@@ -1517,11 +1517,11 @@ static inline void hv_signal_on_read(struct vmbus_channel *channel)
|
||||
|
||||
cur_write_sz = hv_get_bytes_to_write(rbi);
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 518c7df769c7e8b7aef2d9243e421bfe2b99fb59 Mon Sep 17 00:00:00 2001
|
||||
From 5e7aa7b6c216517d56f5633023044c4a59f9eb23 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Fri, 7 Jul 2017 09:15:29 +0800
|
||||
Subject: [PATCH 15/18] hv-sock: avoid double FINs if shutdown() is called
|
||||
Subject: [PATCH 14/17] hv-sock: avoid double FINs if shutdown() is called
|
||||
|
||||
The host expects a single FIN.
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5dc143f0f2a3cc5f4d9f2d3a9b89e190dcdb7230 Mon Sep 17 00:00:00 2001
|
||||
From 13e0bf738c0b4a202a72f6b73aacd75f7109e293 Mon Sep 17 00:00:00 2001
|
||||
From: Dexuan Cui <decui@microsoft.com>
|
||||
Date: Tue, 19 Sep 2017 20:05:31 -0700
|
||||
Subject: [PATCH 16/18] vmbus: hvsock: add proper sync for
|
||||
Subject: [PATCH 15/17] vmbus: hvsock: add proper sync for
|
||||
vmbus_hvsock_device_unregister()
|
||||
|
||||
Without the patch, vmbus_hvsock_device_unregister() can destroy the device
|
||||
@ -16,10 +16,10 @@ Origin: git@github.com:dcui/linux.git
|
||||
2 files changed, 8 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
||||
index a12b1eabc15e..1c20d6afae59 100644
|
||||
index c524ca967d8f..7437385738ac 100644
|
||||
--- a/drivers/hv/channel_mgmt.c
|
||||
+++ b/drivers/hv/channel_mgmt.c
|
||||
@@ -559,6 +559,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
@@ -558,6 +558,8 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel)
|
||||
newchannel->device_obj = device_obj;
|
||||
atomic_dec(&vmbus_connection.register_in_progress);
|
||||
|
||||
@ -28,7 +28,7 @@ index a12b1eabc15e..1c20d6afae59 100644
|
||||
return;
|
||||
|
||||
err_deq_chan:
|
||||
@@ -905,6 +907,8 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
@@ -904,6 +906,8 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
if (channel->device_obj) {
|
||||
if (channel->chn_rescind_callback) {
|
||||
channel->chn_rescind_callback(channel);
|
||||
@ -37,7 +37,7 @@ index a12b1eabc15e..1c20d6afae59 100644
|
||||
return;
|
||||
}
|
||||
/*
|
||||
@@ -938,28 +942,16 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
@@ -937,28 +941,16 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,10 +69,10 @@ index a12b1eabc15e..1c20d6afae59 100644
|
||||
EXPORT_SYMBOL_GPL(vmbus_hvsock_device_unregister);
|
||||
|
||||
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
|
||||
index 511d47e3ee9d..5676f2a16531 100644
|
||||
index cc28cd20256f..28d8cd3655ce 100644
|
||||
--- a/include/linux/hyperv.h
|
||||
+++ b/include/linux/hyperv.h
|
||||
@@ -896,6 +896,8 @@ struct vmbus_channel {
|
||||
@@ -895,6 +895,8 @@ struct vmbus_channel {
|
||||
*/
|
||||
enum hv_numa_policy affinity_policy;
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 33f5b46c4e0e21b17a41dcfd181c95d9997b4436 Mon Sep 17 00:00:00 2001
|
||||
From 89a6593084790629c889a4d7f0f3f13750012ae8 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Dodgen <dodgen@google.com>
|
||||
Date: Thu, 24 Aug 2017 15:26:01 -0400
|
||||
Subject: [PATCH 17/18] ext4: fix fault handling when mounted with -o dax,ro
|
||||
Subject: [PATCH 16/17] ext4: fix fault handling when mounted with -o dax,ro
|
||||
|
||||
If an ext4 filesystem is mounted with both the DAX and read-only
|
||||
options, executables on that filesystem will fail to start (claiming
|
||||
@ -31,10 +31,10 @@ Origin: https://github.com/torvalds/linux
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
|
||||
index 407fc5aa32a7..d8b9cb1109aa 100644
|
||||
index 86ea1d92839a..197653ea6041 100644
|
||||
--- a/fs/ext4/file.c
|
||||
+++ b/fs/ext4/file.c
|
||||
@@ -260,7 +260,20 @@ static int ext4_dax_huge_fault(struct vm_fault *vmf,
|
||||
@@ -279,7 +279,20 @@ static int ext4_dax_huge_fault(struct vm_fault *vmf,
|
||||
handle_t *handle = NULL;
|
||||
struct inode *inode = file_inode(vmf->vma->vm_file);
|
||||
struct super_block *sb = inode->i_sb;
|
@ -1,7 +1,7 @@
|
||||
From 00c4be87968d1009795872f1fed2f854deabbeff Mon Sep 17 00:00:00 2001
|
||||
From 49265035de28de8ddea268dab6884098eeea5aa0 Mon Sep 17 00:00:00 2001
|
||||
From: Cheng-mean Liu <soccerl@microsoft.com>
|
||||
Date: Tue, 11 Jul 2017 16:58:26 -0700
|
||||
Subject: [PATCH 18/18] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
Subject: [PATCH 17/17] NVDIMM: reducded ND_MIN_NAMESPACE_SIZE from 4MB to 4KB
|
||||
(page size)
|
||||
|
||||
Signed-off-by: Cheng-mean Liu <soccerl@microsoft.com>
|
||||
@ -11,10 +11,10 @@ Origin: https://github.com/Microsoft/opengcs/blob/master/kernelconfig/4.11/patch
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
|
||||
index 7ad3863cb88b..670ffdec0924 100644
|
||||
index 3f03567631cb..e63c201ed1ef 100644
|
||||
--- a/include/uapi/linux/ndctl.h
|
||||
+++ b/include/uapi/linux/ndctl.h
|
||||
@@ -260,7 +260,7 @@ enum nd_driver_flags {
|
||||
@@ -263,7 +263,7 @@ enum nd_driver_flags {
|
||||
};
|
||||
|
||||
enum {
|
@ -1,5 +1,5 @@
|
||||
kernel:
|
||||
image: linuxkit/kernel:4.12.14
|
||||
image: linuxkit/kernel:4.13.4
|
||||
cmdline: "console=ttyS0"
|
||||
init:
|
||||
- linuxkit/init:7804129bd06218b72c298139a25698a748d253c6
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user