From 5969ed3728cdfbb64ae3a917d067a54bdce4c075 Mon Sep 17 00:00:00 2001 From: q66 Date: Mon, 25 Jan 2021 03:07:13 +0100 Subject: [PATCH] linux5.10: unbreak page poisoning also fix ppc dotconfigs --- srcpkgs/linux5.10/files/ppc-dotconfig | 14 ++--- srcpkgs/linux5.10/files/ppc64-dotconfig | 18 ++---- .../linux5.10/patches/page-poison-fix.patch | 58 +++++++++++++++++++ 3 files changed, 70 insertions(+), 20 deletions(-) create mode 100644 srcpkgs/linux5.10/patches/page-poison-fix.patch diff --git a/srcpkgs/linux5.10/files/ppc-dotconfig b/srcpkgs/linux5.10/files/ppc-dotconfig index ca2207fddd4..b41439ce167 100644 --- a/srcpkgs/linux5.10/files/ppc-dotconfig +++ b/srcpkgs/linux5.10/files/ppc-dotconfig @@ -1,11 +1,11 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 5.10.1 Kernel Configuration +# Linux/powerpc 5.10.10 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="powerpc-linux-musl-gcc (GCC) 9.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.1 20201203" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=90300 -CONFIG_LD_VERSION=232000000 +CONFIG_GCC_VERSION=100201 +CONFIG_LD_VERSION=235010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y @@ -518,6 +518,8 @@ CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND=y CONFIG_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_VMAP_STACK=y CONFIG_ARCH_HAS_PHYS_TO_DMA=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y @@ -3217,7 +3219,6 @@ CONFIG_MOUSE_ELAN_I2C_I2C=y CONFIG_MOUSE_ELAN_I2C_SMBUS=y CONFIG_MOUSE_VSXXXAA=m CONFIG_MOUSE_GPIO=m -CONFIG_MOUSE_GPIO=m CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_INPUT_JOYSTICK=y @@ -4166,7 +4167,6 @@ CONFIG_MFD_VIPERBOARD=m # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SL28CPLD is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set # CONFIG_ABX500_CORE is not set @@ -5915,7 +5915,6 @@ CONFIG_USB_FTDI_ELAN=m CONFIG_USB_APPLEDISPLAY=m CONFIG_APPLE_MFI_FASTCHARGE=m CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m @@ -8003,6 +8002,7 @@ CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y +# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y diff --git a/srcpkgs/linux5.10/files/ppc64-dotconfig b/srcpkgs/linux5.10/files/ppc64-dotconfig index 0a5ee22c539..4299f42e17c 100644 --- a/srcpkgs/linux5.10/files/ppc64-dotconfig +++ b/srcpkgs/linux5.10/files/ppc64-dotconfig @@ -1,11 +1,11 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/powerpc 5.10.1 Kernel Configuration +# Linux/powerpc 5.10.10 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="powerpc64-linux-musl-gcc (GCC) 9.3.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.1 20201203" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=90300 -CONFIG_LD_VERSION=232000000 +CONFIG_GCC_VERSION=100201 +CONFIG_LD_VERSION=235010000 CONFIG_CLANG_VERSION=0 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y @@ -4388,7 +4388,6 @@ CONFIG_GPIO_SYSFS=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=y -CONFIG_GPIO_REGMAP=m CONFIG_GPIO_MAX730X=m # @@ -4447,7 +4446,6 @@ CONFIG_GPIO_MAX77620=m CONFIG_GPIO_MAX77650=m CONFIG_GPIO_PALMAS=y CONFIG_GPIO_RC5T583=y -CONFIG_GPIO_SL28CPLD=m CONFIG_GPIO_STMPE=y CONFIG_GPIO_TC3589X=y CONFIG_GPIO_TPS65086=m @@ -4741,7 +4739,6 @@ CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_XDPE122=m CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_PWM_FAN=m -CONFIG_SENSORS_SL28CPLD=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=m @@ -4835,7 +4832,6 @@ CONFIG_WM831X_WATCHDOG=m # CONFIG_WM8350_WATCHDOG is not set CONFIG_XILINX_WATCHDOG=m CONFIG_ZIIRAVE_WATCHDOG=m -CONFIG_SL28CPLD_WATCHDOG=m CONFIG_CADENCE_WATCHDOG=m CONFIG_DW_WATCHDOG=m CONFIG_RN5T618_WATCHDOG=m @@ -4962,8 +4958,6 @@ CONFIG_MFD_RK808=m CONFIG_MFD_RN5T618=m # CONFIG_MFD_SEC_CORE is not set CONFIG_MFD_SI476X_CORE=m -CONFIG_MFD_SIMPLE_MFD_I2C=m -CONFIG_MFD_SL28CPLD=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m @@ -7148,7 +7142,6 @@ CONFIG_USB_FTDI_ELAN=m CONFIG_USB_APPLEDISPLAY=m CONFIG_APPLE_MFI_FASTCHARGE=m CONFIG_USB_SISUSBVGA=m -CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m CONFIG_USB_IOWARRIOR=m @@ -8774,7 +8767,6 @@ CONFIG_PWM_FSL_FTM=m CONFIG_PWM_IQS620A=m CONFIG_PWM_LP3943=m CONFIG_PWM_PCA9685=m -CONFIG_PWM_SL28CPLD=m CONFIG_PWM_STMPE=y # CONFIG_PWM_TWL is not set # CONFIG_PWM_TWL_LED is not set @@ -9688,7 +9680,6 @@ CONFIG_NEED_DMA_MAP_STATE=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DMA_DECLARE_COHERENT=y CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y -CONFIG_DMA_VIRT_OPS=y CONFIG_SWIOTLB=y # CONFIG_DMA_API_DEBUG is not set CONFIG_SGL_ALLOC=y @@ -9936,6 +9927,7 @@ CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y +# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y diff --git a/srcpkgs/linux5.10/patches/page-poison-fix.patch b/srcpkgs/linux5.10/patches/page-poison-fix.patch new file mode 100644 index 00000000000..d319dfec824 --- /dev/null +++ b/srcpkgs/linux5.10/patches/page-poison-fix.patch @@ -0,0 +1,58 @@ +This breaks page poisoning on some architectures. The commit is not +very useful by itself, so revert it until a real fix is upstream. + +From 0cbb20875a8607653f02d799fd4b75a34d1b6636 Mon Sep 17 00:00:00 2001 +From: q66 +Date: Mon, 25 Jan 2021 02:59:47 +0100 +Subject: [PATCH] Revert "mm/page_poison.c: replace bool variable with static + key" + +This reverts commit 11c9c7edae06da789abfdeefe5123162a3f1c7dc. +--- + mm/page_poison.c | 20 +++++--------------- + 1 file changed, 5 insertions(+), 15 deletions(-) + +diff --git a/mm/page_poison.c b/mm/page_poison.c +index ae0482c..34b9181 100644 +--- a/mm/page_poison.c ++++ b/mm/page_poison.c +@@ -8,23 +8,13 @@ + #include + #include + +-static DEFINE_STATIC_KEY_FALSE_RO(want_page_poisoning); ++static bool want_page_poisoning __read_mostly; + + static int __init early_page_poison_param(char *buf) + { +- int ret; +- bool tmp; +- +- ret = strtobool(buf, &tmp); +- if (ret) +- return ret; +- +- if (tmp) +- static_branch_enable(&want_page_poisoning); +- else +- static_branch_disable(&want_page_poisoning); +- +- return 0; ++ if (!buf) ++ return -EINVAL; ++ return strtobool(buf, &want_page_poisoning); + } + early_param("page_poison", early_page_poison_param); + +@@ -41,7 +31,7 @@ bool page_poisoning_enabled(void) + * Page poisoning is debug page alloc for some arches. If + * either of those options are enabled, enable poisoning. + */ +- return (static_branch_unlikely(&want_page_poisoning) || ++ return (want_page_poisoning || + (!IS_ENABLED(CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC) && + debug_pagealloc_enabled())); + } +-- +2.30.0 +