Re: [powerpc:next-test 15/17] arch/powerpc/mm/book3s64/hash_utils.c:1986:6: warning: no previous prototype for 'kfence_protect_page'
Le 07/03/2021 à 14:18, kernel test robot a écrit : tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test head: 7c6d5b4b9e8a472043a26ccc22092aebbe65ca68 commit: 0f19bac474e0f9ce9b38a7ce00c57abb321338d1 [15/17] powerpc: Enable KFENCE on BOOK3S/64 config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=0f19bac474e0f9ce9b38a7ce00c57abb321338d1 git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git git fetch --no-tags powerpc next-test git checkout 0f19bac474e0f9ce9b38a7ce00c57abb321338d1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): arch/powerpc/mm/book3s64/hash_utils.c:1986:6: warning: no previous prototype for 'kfence_protect_page' [-Wmissing-prototypes] 1986 | bool kfence_protect_page(unsigned long addr, bool protect) We have to include Christophe | ^~~ vim +/kfence_protect_page +1986 arch/powerpc/mm/book3s64/hash_utils.c 1984 1985 #ifdef CONFIG_KFENCE 1986bool kfence_protect_page(unsigned long addr, bool protect) 1987 { 1988 unsigned long lmi = __pa(addr) >> PAGE_SHIFT; 1989 1990 if (protect) 1991 kernel_unmap_linear_page(addr, lmi); 1992 else 1993 kernel_map_linear_page(addr, lmi); 1994 1995 return true; 1996 } 1997 #endif 1998 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
[PATCH 6/6] mm: Drop redundant HAVE_ARCH_TRANSPARENT_HUGEPAGE
HAVE_ARCH_TRANSPARENT_HUGEPAGE has duplicate definitions on platforms that subscribe it. Drop these reduntant definitions and instead just select it on applicable platforms. Cc: Vineet Gupta Cc: Russell King Cc: Arnd Bergmann Cc: linux-snps-...@lists.infradead.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arc/Kconfig | 5 + arch/arm/Kconfig | 5 + 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index fab05f7189c0..2d98501c0897 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -29,6 +29,7 @@ config ARC select GENERIC_SMP_IDLE_THREAD select HAVE_ARCH_KGDB select HAVE_ARCH_TRACEHOOK + select HAVE_ARCH_TRANSPARENT_HUGEPAGE if ARC_MMU_V4 select HAVE_DEBUG_STACKOVERFLOW select HAVE_DEBUG_KMEMLEAK select HAVE_FUTEX_CMPXCHG if FUTEX @@ -84,10 +85,6 @@ config STACKTRACE_SUPPORT def_bool y select STACKTRACE -config HAVE_ARCH_TRANSPARENT_HUGEPAGE - def_bool y - depends on ARC_MMU_V4 - menu "ARC Architecture Configuration" menu "ARC Platform/SoC/Board" diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d612d2be6859..cd071e3319ba 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -77,6 +77,7 @@ config ARM select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT select HAVE_ARCH_THREAD_STRUCT_WHITELIST select HAVE_ARCH_TRACEHOOK + select HAVE_ARCH_TRANSPARENT_HUGEPAGE if ARM_LPAE select HAVE_ARM_SMCCC if CPU_V7 select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32 select HAVE_CONTEXT_TRACKING @@ -1504,10 +1505,6 @@ config HW_PERF_EVENTS def_bool y depends on ARM_PMU -config HAVE_ARCH_TRANSPARENT_HUGEPAGE - def_bool y - depends on ARM_LPAE - config ARCH_WANT_GENERAL_HUGETLB def_bool y -- 2.20.1
[PATCH 5/6] mm: Drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK
ARCH_ENABLE_SPLIT_PMD_PTLOCKS has duplicate definitions on platforms that subscribe it. Drop these reduntant definitions and instead just select it on applicable platforms. Cc: Catalin Marinas Cc: Will Deacon Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Christian Borntraeger Cc: Yoshinori Sato Cc: Rich Felker Cc: Thomas Gleixner Cc: Ingo Molnar Cc: x...@kernel.org Cc: "H. Peter Anvin" Cc: Andrew Morton Cc: linux-arm-ker...@lists.infradead.org Cc: linux-i...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-s...@vger.kernel.org Cc: linux...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arm64/Kconfig | 4 +--- arch/powerpc/platforms/Kconfig.cputype | 5 + arch/s390/Kconfig | 4 +--- arch/x86/Kconfig | 5 + 4 files changed, 4 insertions(+), 14 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index c0e75f62f08c..fb5b1630a4eb 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -14,6 +14,7 @@ config ARM64 select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_MEMORY_HOTPLUG select ARCH_ENABLE_MEMORY_HOTREMOVE + select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL @@ -1054,9 +1055,6 @@ config HW_PERF_EVENTS config ARCH_WANT_HUGE_PMD_SHARE -config ARCH_ENABLE_SPLIT_PMD_PTLOCK - def_bool y if PGTABLE_LEVELS > 2 - # Supported by clang >= 7.0 config CC_HAVE_SHADOW_CALL_STACK def_bool $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18) diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 4465b71b2bff..be0e29f18dd4 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -97,6 +97,7 @@ config PPC_BOOK3S_64 select PPC_HAVE_PMU_SUPPORT select HAVE_ARCH_TRANSPARENT_HUGEPAGE select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION + select ARCH_ENABLE_PMD_SPLIT_PTLOCK select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_SUPPORTS_HUGETLBFS select ARCH_SUPPORTS_NUMA_BALANCING @@ -356,10 +357,6 @@ config SPE If in doubt, say Y here. -config ARCH_ENABLE_SPLIT_PMD_PTLOCK - def_bool y - depends on PPC_BOOK3S_64 - config PPC_RADIX_MMU bool "Radix MMU Support" depends on PPC_BOOK3S_64 diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index f8b356550daa..d72989591223 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -62,6 +62,7 @@ config S390 select ARCH_BINFMT_ELF_STATE select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM select ARCH_ENABLE_MEMORY_HOTREMOVE + select ARCH_ENABLE_SPLIT_PMD_PTLOCK select ARCH_HAS_DEBUG_VM_PGTABLE select ARCH_HAS_DEBUG_WX select ARCH_HAS_DEVMEM_IS_ALLOWED @@ -628,9 +629,6 @@ config ARCH_SPARSEMEM_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool y -config ARCH_ENABLE_SPLIT_PMD_PTLOCK - def_bool y - config MAX_PHYSMEM_BITS int "Maximum size of supported physical memory in bits (42-53)" range 42 53 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 10702ef1eb57..5dd70c798167 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -63,6 +63,7 @@ config X86 select ARCH_ENABLE_HUGEPAGE_MIGRATION if x86_64 && HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_MEMORY_HOTPLUG if X86_64 || (X86_32 && HIGHMEM) select ARCH_ENABLE_MEMORY_HOTREMOVE if MEMORY_HOTPLUG + select ARCH_ENABLE_SPLIT_PMD_PTLOCK if X86_64 || X86_PAE select ARCH_ENABLE_THP_MIGRATION if x86_64 && TRANSPARENT_HUGEPAGE select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI select ARCH_HAS_CACHE_LINE_SIZE @@ -2431,10 +2432,6 @@ config USE_PERCPU_NUMA_NODE_ID def_bool y depends on NUMA -config ARCH_ENABLE_SPLIT_PMD_PTLOCK - def_bool y - depends on X86_64 || X86_PAE - menu "Power management and ACPI options" config ARCH_HIBERNATION_HEADER -- 2.20.1
[PATCH 4/6] mm: Drop redundant ARCH_ENABLE_[HUGEPAGE|THP]_MIGRATION
ARCH_ENABLE_[HUGEPAGE|THP]_MIGRATION configs have duplicate definitions on platforms that subscribe them. Drop these reduntant definitions and instead just select them appropriately. Cc: Catalin Marinas Cc: Will Deacon Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Andrew Morton Cc: x...@kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux...@kvack.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arm64/Kconfig | 10 ++ arch/powerpc/platforms/Kconfig.cputype | 5 + arch/x86/Kconfig | 10 ++ 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 67e904b0f32a..c0e75f62f08c 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -11,8 +11,10 @@ config ARM64 select ACPI_PPTT if ACPI select ARCH_HAS_DEBUG_WX select ARCH_BINFMT_ELF_STATE + select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_MEMORY_HOTPLUG select ARCH_ENABLE_MEMORY_HOTREMOVE + select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLE @@ -1903,14 +1905,6 @@ config SYSVIPC_COMPAT def_bool y depends on COMPAT && SYSVIPC -config ARCH_ENABLE_HUGEPAGE_MIGRATION - def_bool y - depends on HUGETLB_PAGE && MIGRATION - -config ARCH_ENABLE_THP_MIGRATION - def_bool y - depends on TRANSPARENT_HUGEPAGE - menu "Power management options" source "kernel/power/Kconfig" diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index cec1017813f8..4465b71b2bff 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -96,6 +96,7 @@ config PPC_BOOK3S_64 select PPC_FPU select PPC_HAVE_PMU_SUPPORT select HAVE_ARCH_TRANSPARENT_HUGEPAGE + select ARCH_ENABLE_HUGEPAGE_MIGRATION if HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_SUPPORTS_HUGETLBFS select ARCH_SUPPORTS_NUMA_BALANCING @@ -420,10 +421,6 @@ config PPC_PKEY depends on PPC_BOOK3S_64 depends on PPC_MEM_KEYS || PPC_KUAP || PPC_KUEP -config ARCH_ENABLE_HUGEPAGE_MIGRATION - def_bool y - depends on PPC_BOOK3S_64 && HUGETLB_PAGE && MIGRATION - config PPC_MMU_NOHASH def_bool y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 503d8b2e8676..10702ef1eb57 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -60,8 +60,10 @@ config X86 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ARCH_32BIT_OFF_T if X86_32 select ARCH_CLOCKSOURCE_INIT + select ARCH_ENABLE_HUGEPAGE_MIGRATION if x86_64 && HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_MEMORY_HOTPLUG if X86_64 || (X86_32 && HIGHMEM) select ARCH_ENABLE_MEMORY_HOTREMOVE if MEMORY_HOTPLUG + select ARCH_ENABLE_THP_MIGRATION if x86_64 && TRANSPARENT_HUGEPAGE select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL @@ -2433,14 +2435,6 @@ config ARCH_ENABLE_SPLIT_PMD_PTLOCK def_bool y depends on X86_64 || X86_PAE -config ARCH_ENABLE_HUGEPAGE_MIGRATION - def_bool y - depends on X86_64 && HUGETLB_PAGE && MIGRATION - -config ARCH_ENABLE_THP_MIGRATION - def_bool y - depends on X86_64 && TRANSPARENT_HUGEPAGE - menu "Power management and ACPI options" config ARCH_HIBERNATION_HEADER -- 2.20.1
[PATCH 3/6] mm: Generalize ARCH_ENABLE_MEMORY_[HOTPLUG|HOTREMOVE]
ARCH_ENABLE_MEMORY_[HOTPLUG|HOTREMOVE] configs have duplicate definitions on platforms that subscribe them. Instead, just make them generic options which can be selected on applicable platforms. Cc: Catalin Marinas Cc: Will Deacon Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Christian Borntraeger Cc: Yoshinori Sato Cc: Rich Felker Cc: Thomas Gleixner Cc: Ingo Molnar Cc: x...@kernel.org Cc: "H. Peter Anvin" Cc: Andrew Morton Cc: linux-arm-ker...@lists.infradead.org Cc: linux-i...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-s...@vger.kernel.org Cc: linux...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arm64/Kconfig | 8 ++-- arch/ia64/Kconfig| 8 ++-- arch/powerpc/Kconfig | 8 ++-- arch/s390/Kconfig| 8 ++-- arch/sh/Kconfig | 2 ++ arch/sh/mm/Kconfig | 8 arch/x86/Kconfig | 10 ++ mm/Kconfig | 6 ++ 8 files changed, 18 insertions(+), 40 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 68fe3b5bf17a..67e904b0f32a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -11,6 +11,8 @@ config ARM64 select ACPI_PPTT if ACPI select ARCH_HAS_DEBUG_WX select ARCH_BINFMT_ELF_STATE + select ARCH_ENABLE_MEMORY_HOTPLUG + select ARCH_ENABLE_MEMORY_HOTREMOVE select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLE @@ -305,12 +307,6 @@ config ZONE_DMA32 bool "Support DMA32 zone" if EXPERT default y -config ARCH_ENABLE_MEMORY_HOTPLUG - def_bool y - -config ARCH_ENABLE_MEMORY_HOTREMOVE - def_bool y - config SMP def_bool y diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 2ad7a8d29fcc..96ce53ad5c9d 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -13,6 +13,8 @@ config IA64 select ARCH_MIGHT_HAVE_PC_SERIO select ACPI select ACPI_NUMA if NUMA + select ARCH_ENABLE_MEMORY_HOTPLUG + select ARCH_ENABLE_MEMORY_HOTREMOVE select ARCH_SUPPORTS_ACPI select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI @@ -250,12 +252,6 @@ config HOTPLUG_CPU can be controlled through /sys/devices/system/cpu/cpu#. Say N if you want to disable CPU hotplug. -config ARCH_ENABLE_MEMORY_HOTPLUG - def_bool y - -config ARCH_ENABLE_MEMORY_HOTREMOVE - def_bool y - config SCHED_SMT bool "SMT scheduler support" depends on SMP diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index a74c211e55b1..02a05a24659d 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -118,6 +118,8 @@ config PPC # Please keep this list sorted alphabetically. # select ARCH_32BIT_OFF_T if PPC32 + select ARCH_ENABLE_MEMORY_HOTPLUG + select ARCH_ENABLE_MEMORY_HOTREMOVE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_ELF_RANDOMIZE @@ -515,12 +517,6 @@ config ARCH_CPU_PROBE_RELEASE def_bool y depends on HOTPLUG_CPU -config ARCH_ENABLE_MEMORY_HOTPLUG - def_bool y - -config ARCH_ENABLE_MEMORY_HOTREMOVE - def_bool y - config PPC64_SUPPORTS_MEMORY_FAILURE bool "Add support for memory hwpoison" depends on PPC_BOOK3S_64 diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index c1ff874e6c2e..f8b356550daa 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -60,6 +60,8 @@ config S390 imply IMA_SECURE_AND_OR_TRUSTED_BOOT select ARCH_32BIT_USTAT_F_TINODE select ARCH_BINFMT_ELF_STATE + select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM + select ARCH_ENABLE_MEMORY_HOTREMOVE select ARCH_HAS_DEBUG_VM_PGTABLE select ARCH_HAS_DEBUG_WX select ARCH_HAS_DEVMEM_IS_ALLOWED @@ -626,12 +628,6 @@ config ARCH_SPARSEMEM_ENABLE config ARCH_SPARSEMEM_DEFAULT def_bool y -config ARCH_ENABLE_MEMORY_HOTPLUG - def_bool y if SPARSEMEM - -config ARCH_ENABLE_MEMORY_HOTREMOVE - def_bool y - config ARCH_ENABLE_SPLIT_PMD_PTLOCK def_bool y diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index a54b0c5de37b..68129537e350 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -2,6 +2,8 @@ config SUPERH def_bool y select ARCH_32BIT_OFF_T + select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU + select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU select ARCH_HAVE_CUSTOM_GPIO_H select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A) select ARCH_HAS_BINFMT_FLAT if !MMU diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 77aa2f802d8d..d551a9cac41e 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig @@ -136,14 +136,6 @@ config ARCH_SPARSEMEM_DEFAULT config
[PATCH 2/6] mm: Generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS)
SYS_SUPPORTS_HUGETLBFS config has duplicate definitions on platforms that subscribe it. Instead, just make it a generic option which can be selected on applicable platforms. Also rename it as ARCH_SUPPORTS_HUGETLBFS instead. This reduces code duplication and makes it cleaner. Cc: Russell King Cc: Catalin Marinas Cc: Will Deacon Cc: Thomas Bogendoerfer Cc: "James E.J. Bottomley" Cc: Helge Deller Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: Albert Ou Cc: Yoshinori Sato Cc: Rich Felker Cc: Alexander Viro Cc: linux-arm-ker...@lists.infradead.org Cc: linux-m...@vger.kernel.org Cc: linux-par...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-ri...@lists.infradead.org Cc: linux...@vger.kernel.org Cc: linux-fsde...@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arm/Kconfig | 5 + arch/arm64/Kconfig | 4 +--- arch/mips/Kconfig | 6 +- arch/parisc/Kconfig| 5 + arch/powerpc/Kconfig | 3 --- arch/powerpc/platforms/Kconfig.cputype | 6 +++--- arch/riscv/Kconfig | 5 + arch/sh/Kconfig| 5 + fs/Kconfig | 5 - 9 files changed, 13 insertions(+), 31 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 853aab5ab327..d612d2be6859 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -31,6 +31,7 @@ config ARM select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7 select ARCH_SUPPORTS_ATOMIC_RMW + select ARCH_SUPPORTS_HUGETLBFS if ARM_LPAE select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU @@ -1503,10 +1504,6 @@ config HW_PERF_EVENTS def_bool y depends on ARM_PMU -config SYS_SUPPORTS_HUGETLBFS - def_bool y - depends on ARM_LPAE - config HAVE_ARCH_TRANSPARENT_HUGEPAGE def_bool y depends on ARM_LPAE diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 606a2323e002..68fe3b5bf17a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -72,6 +72,7 @@ config ARM64 select ARCH_USE_QUEUED_SPINLOCKS select ARCH_USE_SYM_ANNOTATIONS select ARCH_SUPPORTS_DEBUG_PAGEALLOC + select ARCH_SUPPORTS_HUGETLBFS select ARCH_SUPPORTS_MEMORY_FAILURE select ARCH_SUPPORTS_SHADOW_CALL_STACK if CC_HAVE_SHADOW_CALL_STACK select ARCH_SUPPORTS_LTO_CLANG if CPU_LITTLE_ENDIAN @@ -1053,9 +1054,6 @@ config HW_PERF_EVENTS def_bool y depends on ARM_PMU -config SYS_SUPPORTS_HUGETLBFS - def_bool y - config ARCH_WANT_HUGE_PMD_SHARE config ARCH_ENABLE_SPLIT_PMD_PTLOCK diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index d89efba3d8a4..73ea9b7558c1 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -16,6 +16,7 @@ config MIPS select ARCH_USE_CMPXCHG_LOCKREF if 64BIT select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS + select ARCH_SUPPORTS_HUGETLBFS if CPU_SUPPORTS_HUGEPAGES select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU select ARCH_WANT_IPC_PARSE_VERSION select ARCH_WANT_LD_ORPHAN_WARN @@ -1281,11 +1282,6 @@ config SYS_SUPPORTS_BIG_ENDIAN config SYS_SUPPORTS_LITTLE_ENDIAN bool -config SYS_SUPPORTS_HUGETLBFS - bool - depends on CPU_SUPPORTS_HUGEPAGES - default y - config MIPS_HUGE_TLB_SUPPORT def_bool HUGETLB_PAGE || TRANSPARENT_HUGEPAGE diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 4e53ac46e857..4ce68e640474 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -12,6 +12,7 @@ config PARISC select ARCH_HAS_STRICT_KERNEL_RWX select ARCH_HAS_UBSAN_SANITIZE_ALL select ARCH_NO_SG_CHAIN + select ARCH_SUPPORTS_HUGETLBFS if PA20 select ARCH_SUPPORTS_MEMORY_FAILURE select DMA_OPS select RTC_CLASS @@ -138,10 +139,6 @@ config PGTABLE_LEVELS default 3 if 64BIT && PARISC_PAGE_SIZE_4KB default 2 -config SYS_SUPPORTS_HUGETLBFS - def_bool y if PA20 - - menu "Processor type and features" choice diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 386ae12d8523..a74c211e55b1 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -700,9 +700,6 @@ config ARCH_SPARSEMEM_DEFAULT def_bool y depends on PPC_BOOK3S_64 -config SYS_SUPPORTS_HUGETLBFS - bool - config ILLEGAL_POINTER_VALUE hex # This is roughly half way between the top of user space and the bottom diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 3ce907523b1e..cec1017813f8 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++
[PATCH 1/6] mm: Generalize ARCH_HAS_CACHE_LINE_SIZE
ARCH_HAS_CACHE_LINE_SIZE config has duplicate definitions on platforms that subscribe it. Instead, just make it a generic option which can be selected on applicable platforms. This change reduces code duplication and makes it cleaner. Cc: Vineet Gupta Cc: Catalin Marinas Cc: Will Deacon Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: "H. Peter Anvin" Cc: Andrew Morton Cc: x...@kernel.org Cc: linux-snps-...@lists.infradead.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux...@kvack.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Anshuman Khandual --- arch/arc/Kconfig | 4 +--- arch/arm64/Kconfig | 4 +--- arch/x86/Kconfig | 4 +--- mm/Kconfig | 3 +++ 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index bc8d6aecfbbd..fab05f7189c0 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -6,6 +6,7 @@ config ARC def_bool y select ARC_TIMERS + select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VM_PGTABLE select ARCH_HAS_DMA_PREP_COHERENT select ARCH_HAS_PTE_SPECIAL @@ -48,9 +49,6 @@ config ARC select HAVE_ARCH_JUMP_LABEL if ISA_ARCV2 && !CPU_ENDIAN_BE32 select SET_FS -config ARCH_HAS_CACHE_LINE_SIZE - def_bool y - config TRACE_IRQFLAGS_SUPPORT def_bool y diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 1f212b47a48a..606a2323e002 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -11,6 +11,7 @@ config ARM64 select ACPI_PPTT if ACPI select ARCH_HAS_DEBUG_WX select ARCH_BINFMT_ELF_STATE + select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLE select ARCH_HAS_DMA_PREP_COHERENT @@ -1057,9 +1058,6 @@ config SYS_SUPPORTS_HUGETLBFS config ARCH_WANT_HUGE_PMD_SHARE -config ARCH_HAS_CACHE_LINE_SIZE - def_bool y - config ARCH_ENABLE_SPLIT_PMD_PTLOCK def_bool y if PGTABLE_LEVELS > 2 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 2792879d398e..51d171abb57a 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -61,6 +61,7 @@ config X86 select ARCH_32BIT_OFF_T if X86_32 select ARCH_CLOCKSOURCE_INIT select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI + select ARCH_HAS_CACHE_LINE_SIZE select ARCH_HAS_DEBUG_VIRTUAL select ARCH_HAS_DEBUG_VM_PGTABLEif !X86_PAE select ARCH_HAS_DEVMEM_IS_ALLOWED @@ -313,9 +314,6 @@ config GENERIC_CALIBRATE_DELAY config ARCH_HAS_CPU_RELAX def_bool y -config ARCH_HAS_CACHE_LINE_SIZE - def_bool y - config ARCH_HAS_FILTER_PGPROT def_bool y diff --git a/mm/Kconfig b/mm/Kconfig index 24c045b24b95..1c9a37fc651a 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -760,6 +760,9 @@ config IDLE_PAGE_TRACKING See Documentation/admin-guide/mm/idle_page_tracking.rst for more details. +config ARCH_HAS_CACHE_LINE_SIZE + bool + config ARCH_HAS_PTE_DEVMAP bool -- 2.20.1
[PATCH 0/6] mm: some config cleanups
This series contains config cleanup patches which reduces code duplication across platforms and also improves maintainability. There is no functional change intended with this series. This has been boot tested on arm64 but only build tested on some other platforms. This applies on 5.12-rc2 Cc: x...@kernel.org Cc: linux-i...@vger.kernel.org Cc: linux-s...@vger.kernel.org Cc: linux-snps-...@lists.infradead.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-m...@vger.kernel.org Cc: linux-par...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-ri...@lists.infradead.org Cc: linux...@vger.kernel.org Cc: linux-fsde...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-ker...@vger.kernel.org Anshuman Khandual (6): mm: Generalize ARCH_HAS_CACHE_LINE_SIZE mm: Generalize SYS_SUPPORTS_HUGETLBFS (rename as ARCH_SUPPORTS_HUGETLBFS) mm: Generalize ARCH_ENABLE_MEMORY_[HOTPLUG|HOTREMOVE] mm: Drop redundant ARCH_ENABLE_[HUGEPAGE|THP]_MIGRATION mm: Drop redundant ARCH_ENABLE_SPLIT_PMD_PTLOCK mm: Drop redundant HAVE_ARCH_TRANSPARENT_HUGEPAGE arch/arc/Kconfig | 9 ++-- arch/arm/Kconfig | 10 ++--- arch/arm64/Kconfig | 30 ++ arch/ia64/Kconfig | 8 ++- arch/mips/Kconfig | 6 +- arch/parisc/Kconfig| 5 + arch/powerpc/Kconfig | 11 ++ arch/powerpc/platforms/Kconfig.cputype | 16 +- arch/riscv/Kconfig | 5 + arch/s390/Kconfig | 12 +++ arch/sh/Kconfig| 7 +++--- arch/sh/mm/Kconfig | 8 --- arch/x86/Kconfig | 29 ++--- fs/Kconfig | 5 - mm/Kconfig | 9 15 files changed, 48 insertions(+), 122 deletions(-) -- 2.20.1
Re: Errant readings on LM81 with T2080 SoC
On 3/7/21 8:37 PM, Chris Packham wrote: [ ... ] >> That's from -ENXIO which is used in only one place in i2c-mpc.c. I'll >> enable some debug and see what we get. > > For the errant readings there was nothing abnormal reported by the driver. > > For the "No such device or address" I saw "mpc-i2c ffe119000.i2c: No > RXAK" which matches up with the -ENXIO return. > Id suggest to check the time until not busy and stop in mpc_xfer(). Those hot loops are unusual, and may well mess up the code especially if preempt is enabled. Also, are you using interrupts or polling in your system ? The interrupt handler looks a bit odd, with "Read again to allow register to stabilise". Do you have fsl,timeout set in the devicetree properties and, if so, have you played with it ? Other than that, the only other real idea I have would be to monitor the i2c bus. Guenter
Re: Errant readings on LM81 with T2080 SoC
On 8/03/21 3:27 pm, Chris Packham wrote: > > On 8/03/21 1:31 pm, Guenter Roeck wrote: >> On 3/7/21 2:52 PM, Chris Packham wrote: >>> Hi, >>> >>> I've got a system using a PowerPC T2080 SoC and among other things has >>> an LM81 hwmon chip. >>> >>> Under a high CPU load we see errant readings from the LM81 as well as >>> actual failures. It's the errant readings that cause the most concern >>> since we can easily ignore the read errors in our monitoring >>> application >>> (although it would be better if they weren't there at all). >>> >>> I'm able to reproduce this with a test application[0] that artificially >>> creates a high CPU load then by repeatedly checking for the all-1s >>> values from the LM81 datasheet[1](page 17). The all-1s readings stick >>> out as they are obviously higher than the voltage rails that are >>> connected and disagree with measurements taken with a multimeter. >>> >>> Here's the output from my device >>> >>> [root@linuxbox ~]# cpuload 90& >>> [root@linuxbox ~]# (while true; do cat >>> /sys/class/hwmon/hwmon0/in*_input >>> | grep '3320\|4383\|6641\|15930\|3586'; sleep 1; done)& >>> 3586 >>> 3586 >>> cat: read error: No such device or address >>> cat: read error: No such device or address >>> 3320 >>> 3320 >>> 3586 >>> 3586 >>> 6641 >>> 6641 >>> 4383 >>> 4383 >>> >>> Fundamentally I think this is a problem with the fact that the LM81 is >>> an SMBus device but the T2080 (and other Freescale SoCs) uses i2c >>> and we >>> emulate SMBus. I suspect the errant readings are when we don't get >>> round >>> to completing the read within the timeout specified by the SMBus >>> specification. Depending on when that happens we either fail the >>> transfer or interpret the result as all-1s. >>> >> That is quite unlikely. Many sensor chips are SMBus chips connected to >> i2c busses. It is much more likely that there is a bug in the T2080 >> i2c driver, >> that the chip doesn't like the bulk read command issued through >> regmap, that >> the chip has problems with the i2c bus speed, or that the i2c bus is >> noisy. > Perhaps something gets upset when interrupt processing is delayed > because of CPU load. I don't see the problem when there isn't a CPU > load so I think that eliminates board issues. >> In this context, the "No such device or address" responses are very >> suspicious. >> Those are reported by the i2c driver, not by the hwmon driver, and >> suggest >> that the chip did not respond to a read request. Maybe it helps to >> enable >> debugging to the i2c driver to see if it reports anything useful. Even >> better might be to connect an i2c bus analyzer to the i2c bus and check >> what is going on. > That's from -ENXIO which is used in only one place in i2c-mpc.c. I'll > enable some debug and see what we get. For the errant readings there was nothing abnormal reported by the driver. For the "No such device or address" I saw "mpc-i2c ffe119000.i2c: No RXAK" which matches up with the -ENXIO return.
Re: [PATCH v4] powerpc/uprobes: Validation for prefixed instruction
On 05/03/21 5:24 pm, Ravi Bangoria wrote: > As per ISA 3.1, prefixed instruction should not cross 64-byte > boundary. So don't allow Uprobe on such prefixed instruction. > > There are two ways probed instruction is changed in mapped pages. > First, when Uprobe is activated, it searches for all the relevant > pages and replace instruction in them. In this case, if that probe > is on the 64-byte unaligned prefixed instruction, error out > directly. Second, when Uprobe is already active and user maps a > relevant page via mmap(), instruction is replaced via mmap() code > path. But because Uprobe is invalid, entire mmap() operation can > not be stopped. In this case just print an error and continue. > > Signed-off-by: Ravi Bangoria > Acked-by: Naveen N. Rao > --- > v3: > https://lore.kernel.org/r/20210304050529.59391-1-ravi.bango...@linux.ibm.com > v3->v4: > - CONFIG_PPC64 check was not required, remove it. > - Use SZ_ macros instead of hardcoded numbers. > Acked-by: Sandipan Das
Re: Errant readings on LM81 with T2080 SoC
On 8/03/21 1:31 pm, Guenter Roeck wrote: > On 3/7/21 2:52 PM, Chris Packham wrote: >> Hi, >> >> I've got a system using a PowerPC T2080 SoC and among other things has >> an LM81 hwmon chip. >> >> Under a high CPU load we see errant readings from the LM81 as well as >> actual failures. It's the errant readings that cause the most concern >> since we can easily ignore the read errors in our monitoring application >> (although it would be better if they weren't there at all). >> >> I'm able to reproduce this with a test application[0] that artificially >> creates a high CPU load then by repeatedly checking for the all-1s >> values from the LM81 datasheet[1](page 17). The all-1s readings stick >> out as they are obviously higher than the voltage rails that are >> connected and disagree with measurements taken with a multimeter. >> >> Here's the output from my device >> >> [root@linuxbox ~]# cpuload 90& >> [root@linuxbox ~]# (while true; do cat /sys/class/hwmon/hwmon0/in*_input >> | grep '3320\|4383\|6641\|15930\|3586'; sleep 1; done)& >> 3586 >> 3586 >> cat: read error: No such device or address >> cat: read error: No such device or address >> 3320 >> 3320 >> 3586 >> 3586 >> 6641 >> 6641 >> 4383 >> 4383 >> >> Fundamentally I think this is a problem with the fact that the LM81 is >> an SMBus device but the T2080 (and other Freescale SoCs) uses i2c and we >> emulate SMBus. I suspect the errant readings are when we don't get round >> to completing the read within the timeout specified by the SMBus >> specification. Depending on when that happens we either fail the >> transfer or interpret the result as all-1s. >> > That is quite unlikely. Many sensor chips are SMBus chips connected to > i2c busses. It is much more likely that there is a bug in the T2080 i2c > driver, > that the chip doesn't like the bulk read command issued through regmap, that > the chip has problems with the i2c bus speed, or that the i2c bus is noisy. Perhaps something gets upset when interrupt processing is delayed because of CPU load. I don't see the problem when there isn't a CPU load so I think that eliminates board issues. > In this context, the "No such device or address" responses are very > suspicious. > Those are reported by the i2c driver, not by the hwmon driver, and suggest > that the chip did not respond to a read request. Maybe it helps to enable > debugging to the i2c driver to see if it reports anything useful. Even > better might be to connect an i2c bus analyzer to the i2c bus and check > what is going on. That's from -ENXIO which is used in only one place in i2c-mpc.c. I'll enable some debug and see what we get. > > Guenter
Re: Errant readings on LM81 with T2080 SoC
On 3/7/21 2:52 PM, Chris Packham wrote: > Hi, > > I've got a system using a PowerPC T2080 SoC and among other things has > an LM81 hwmon chip. > > Under a high CPU load we see errant readings from the LM81 as well as > actual failures. It's the errant readings that cause the most concern > since we can easily ignore the read errors in our monitoring application > (although it would be better if they weren't there at all). > > I'm able to reproduce this with a test application[0] that artificially > creates a high CPU load then by repeatedly checking for the all-1s > values from the LM81 datasheet[1](page 17). The all-1s readings stick > out as they are obviously higher than the voltage rails that are > connected and disagree with measurements taken with a multimeter. > > Here's the output from my device > > [root@linuxbox ~]# cpuload 90& > [root@linuxbox ~]# (while true; do cat /sys/class/hwmon/hwmon0/in*_input > | grep '3320\|4383\|6641\|15930\|3586'; sleep 1; done)& > 3586 > 3586 > cat: read error: No such device or address > cat: read error: No such device or address > 3320 > 3320 > 3586 > 3586 > 6641 > 6641 > 4383 > 4383 > > Fundamentally I think this is a problem with the fact that the LM81 is > an SMBus device but the T2080 (and other Freescale SoCs) uses i2c and we > emulate SMBus. I suspect the errant readings are when we don't get round > to completing the read within the timeout specified by the SMBus > specification. Depending on when that happens we either fail the > transfer or interpret the result as all-1s. > That is quite unlikely. Many sensor chips are SMBus chips connected to i2c busses. It is much more likely that there is a bug in the T2080 i2c driver, that the chip doesn't like the bulk read command issued through regmap, that the chip has problems with the i2c bus speed, or that the i2c bus is noisy. In this context, the "No such device or address" responses are very suspicious. Those are reported by the i2c driver, not by the hwmon driver, and suggest that the chip did not respond to a read request. Maybe it helps to enable debugging to the i2c driver to see if it reports anything useful. Even better might be to connect an i2c bus analyzer to the i2c bus and check what is going on. Guenter
[powerpc:merge] BUILD SUCCESS 103ebc760cccd96ab1ebc3558881106d48efdcea
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git merge branch HEAD: 103ebc760cccd96ab1ebc3558881106d48efdcea Automatic merge of 'master' into merge (2021-03-07 21:07) elapsed time: 723m configs tested: 150 configs skipped: 2 The following configs have been built successfully. More configs may be tested in the coming days. gcc tested configs: arm defconfig arm64allyesconfig arm64 defconfig arm allyesconfig arm allmodconfig mips ip28_defconfig mips capcella_defconfig armmini2440_defconfig arm spitz_defconfig arm pxa168_defconfig mips gcw0_defconfig sh se7724_defconfig arcnsim_700_defconfig powerpc mpc83xx_defconfig mips decstation_64_defconfig armclps711x_defconfig arc allyesconfig parisc defconfig powerpcklondike_defconfig shtitan_defconfig xtensasmp_lx200_defconfig powerpcge_imp3a_defconfig arm mainstone_defconfig mips allmodconfig armdove_defconfig sh shx3_defconfig arc axs101_defconfig powerpc mpc866_ads_defconfig mipsworkpad_defconfig powerpc mpc8313_rdb_defconfig mipsmaltaup_defconfig mips loongson3_defconfig powerpc mpc834x_itx_defconfig alphaalldefconfig shsh7763rdp_defconfig openrisc simple_smp_defconfig arm at91_dt_defconfig powerpc powernv_defconfig csky alldefconfig mipsnlm_xlr_defconfig xtensa common_defconfig sh defconfig sh se7722_defconfig arm s5pv210_defconfig armhisi_defconfig ia64 bigsur_defconfig powerpc mpc885_ads_defconfig sh sdk7786_defconfig arm am200epdkit_defconfig mipsgpr_defconfig arm cm_x300_defconfig arcvdk_hs38_defconfig sh polaris_defconfig arcvdk_hs38_smp_defconfig powerpc tqm8555_defconfig mips rbtx49xx_defconfig arm pxa3xx_defconfig powerpc pasemi_defconfig arc axs103_smp_defconfig powerpc tqm8560_defconfig microblaze defconfig powerpc bluestone_defconfig mips ip27_defconfig xtensa iss_defconfig mips tb0226_defconfig ia64 allmodconfig ia64defconfig ia64 allyesconfig m68k allmodconfig m68kdefconfig m68k allyesconfig nds32 defconfig nios2allyesconfig cskydefconfig alpha defconfig alphaallyesconfig xtensa allyesconfig h8300allyesconfig arc defconfig sh allmodconfig s390 allyesconfig s390 allmodconfig parisc allyesconfig s390defconfig nios2 defconfig nds32 allnoconfig i386 allyesconfig sparcallyesconfig sparc defconfig i386 tinyconfig i386defconfig mips allyesconfig powerpc allyesconfig powerpc allmodconfig powerpc allnoconfig i386 randconfig-a005-20210307 i386 randconfig-a003-20210307 i386 randconfig-a002-20210307 i386 randconfig-a004-20210307 i386 randconfig-a006-20210307 i386
[powerpc:next-test] BUILD SUCCESS WITH WARNING 7c6d5b4b9e8a472043a26ccc22092aebbe65ca68
allmodconfig m68k allyesconfig nds32 defconfig nios2allyesconfig cskydefconfig alpha defconfig alphaallyesconfig xtensa allyesconfig h8300allyesconfig arc defconfig sh allmodconfig s390 allyesconfig s390 allmodconfig parisc allyesconfig s390defconfig nios2 defconfig nds32 allnoconfig i386 allyesconfig sparc defconfig i386 tinyconfig i386defconfig mips allyesconfig powerpc allyesconfig powerpc allmodconfig powerpc allnoconfig x86_64 randconfig-a006-20210308 x86_64 randconfig-a001-20210308 x86_64 randconfig-a004-20210308 x86_64 randconfig-a002-20210308 x86_64 randconfig-a005-20210308 x86_64 randconfig-a003-20210308 i386 randconfig-a005-20210307 i386 randconfig-a003-20210307 i386 randconfig-a002-20210307 i386 randconfig-a004-20210307 i386 randconfig-a006-20210307 i386 randconfig-a001-20210307 i386 randconfig-a005-20210308 i386 randconfig-a003-20210308 i386 randconfig-a002-20210308 i386 randconfig-a006-20210308 i386 randconfig-a004-20210308 i386 randconfig-a001-20210308 x86_64 randconfig-a013-20210307 x86_64 randconfig-a016-20210307 x86_64 randconfig-a015-20210307 x86_64 randconfig-a014-20210307 x86_64 randconfig-a012-20210307 x86_64 randconfig-a011-20210307 i386 randconfig-a016-20210307 i386 randconfig-a012-20210307 i386 randconfig-a013-20210307 i386 randconfig-a014-20210307 i386 randconfig-a011-20210307 i386 randconfig-a015-20210307 i386 randconfig-a016-20210308 i386 randconfig-a012-20210308 i386 randconfig-a014-20210308 i386 randconfig-a013-20210308 i386 randconfig-a011-20210308 i386 randconfig-a015-20210308 riscvallyesconfig riscvnommu_virt_defconfig riscv allnoconfig riscv defconfig riscv rv32_defconfig riscvallmodconfig x86_64 allyesconfig x86_64rhel-7.6-kselftests x86_64 defconfig x86_64 rhel-8.3 x86_64 rhel-8.3-kbuiltin x86_64 kexec clang tested configs: x86_64 randconfig-a006-20210307 x86_64 randconfig-a001-20210307 x86_64 randconfig-a004-20210307 x86_64 randconfig-a005-20210307 x86_64 randconfig-a002-20210307 x86_64 randconfig-a003-20210307 x86_64 randconfig-a013-20210308 x86_64 randconfig-a016-20210308 x86_64 randconfig-a015-20210308 x86_64 randconfig-a014-20210308 x86_64 randconfig-a011-20210308 x86_64 randconfig-a012-20210308 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
Errant readings on LM81 with T2080 SoC
Hi, I've got a system using a PowerPC T2080 SoC and among other things has an LM81 hwmon chip. Under a high CPU load we see errant readings from the LM81 as well as actual failures. It's the errant readings that cause the most concern since we can easily ignore the read errors in our monitoring application (although it would be better if they weren't there at all). I'm able to reproduce this with a test application[0] that artificially creates a high CPU load then by repeatedly checking for the all-1s values from the LM81 datasheet[1](page 17). The all-1s readings stick out as they are obviously higher than the voltage rails that are connected and disagree with measurements taken with a multimeter. Here's the output from my device [root@linuxbox ~]# cpuload 90& [root@linuxbox ~]# (while true; do cat /sys/class/hwmon/hwmon0/in*_input | grep '3320\|4383\|6641\|15930\|3586'; sleep 1; done)& 3586 3586 cat: read error: No such device or address cat: read error: No such device or address 3320 3320 3586 3586 6641 6641 4383 4383 Fundamentally I think this is a problem with the fact that the LM81 is an SMBus device but the T2080 (and other Freescale SoCs) uses i2c and we emulate SMBus. I suspect the errant readings are when we don't get round to completing the read within the timeout specified by the SMBus specification. Depending on when that happens we either fail the transfer or interpret the result as all-1s. [0] - https://gist.github.com/cpackham/6356a3a943accebb228135dc10daf721 [1] - https://www.ti.com/lit/ds/symlink/lm81.pdf
Re: [GIT PULL] Please pull powerpc/linux.git powerpc-5.12-2 tag
The pull request you sent on Sun, 07 Mar 2021 21:25:16 +1100: > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git > tags/powerpc-5.12-2 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/fbda7904302499dd7ffc073a3c84eb7c9275db0a Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
Re: [PATCH -next] pci/controller/dwc: convert comma to semicolon
Hi, [...] > I would request NXP maintainers to take this patch, rewrite it as > Bjorn requested and resend it as fast as possible, this is a very > relevant fix. [...] Looking at the state of the pci-layerscape-ep.c file in Linus' tree, this still hasn't been fixed, and it has been a while. NXP folks, are you intend to pick this up? Do let us know. Krzysztof
[powerpc:next-test 15/17] arch/powerpc/mm/book3s64/hash_utils.c:1986:6: warning: no previous prototype for 'kfence_protect_page'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test head: 7c6d5b4b9e8a472043a26ccc22092aebbe65ca68 commit: 0f19bac474e0f9ce9b38a7ce00c57abb321338d1 [15/17] powerpc: Enable KFENCE on BOOK3S/64 config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=0f19bac474e0f9ce9b38a7ce00c57abb321338d1 git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git git fetch --no-tags powerpc next-test git checkout 0f19bac474e0f9ce9b38a7ce00c57abb321338d1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> arch/powerpc/mm/book3s64/hash_utils.c:1986:6: warning: no previous prototype >> for 'kfence_protect_page' [-Wmissing-prototypes] 1986 | bool kfence_protect_page(unsigned long addr, bool protect) | ^~~ vim +/kfence_protect_page +1986 arch/powerpc/mm/book3s64/hash_utils.c 1984 1985 #ifdef CONFIG_KFENCE > 1986 bool kfence_protect_page(unsigned long addr, bool protect) 1987 { 1988 unsigned long lmi = __pa(addr) >> PAGE_SHIFT; 1989 1990 if (protect) 1991 kernel_unmap_linear_page(addr, lmi); 1992 else 1993 kernel_map_linear_page(addr, lmi); 1994 1995 return true; 1996 } 1997 #endif 1998 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org .config.gz Description: application/gzip
Re: [PATCH] Replace __toc_start + 0x8000 with .TOC.
On Sat, Mar 6, 2021 at 10:25 PM Segher Boessenkool wrote: > > Hi! > > On Sat, Mar 06, 2021 at 09:14:33PM -0800, Fangrui Song wrote: > > TOC relocations are like GOT relocations on other architectures. > > However, unlike other architectures, GNU ld's ppc64 port defines .TOC. > > relative to the .got output section instead of the linker synthesized > > .got input section. LLD defines .TOC. as the .got input section plus > > 0x8000. When CONFIG_PPC_OF_BOOT_TRAMPOLINE=y, > > arch/powerpc/kernel/prom_init.o is built, and LLD computed .TOC. can be > > different from __toc_start defined by the linker script. > > > > Simplify kernel_toc_addr with asm label .TOC. so that we can get rid of > > __toc_start. > > > > With this change, powernv_defconfig with CONFIG_PPC_OF_BOOT_TRAMPOLINE=y > > is bootable with LLD. There is still an untriaged issue with Alexey's > > configuration. > > Do you have any explanation why this *does* work, while the original > doesn't? Some explanation that says *what* is wrong. To me it doesn't > look like the kernel script is. > > > Segher The kernel code probably wants to access .TOC. (the TOC base symbol) via __toc_start+0x8000. If the kernel understood TOC base is different from the linker understood TOC base (.TOC.), there should be a problem. By using .TOC. in the kernel code, the two concepts are guaranteed to match.
[GIT PULL] Please pull powerpc/linux.git powerpc-5.12-2 tag
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Hi Linus, Please pull powerpc fixes for 5.12: The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8: Linux 5.12-rc1 (2021-02-28 16:05:19 -0800) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git tags/powerpc-5.12-2 for you to fetch changes up to 5c88a17e15795226b56d83f579cbb9b7a4864f79: powerpc/sstep: Fix VSX instruction emulation (2021-03-02 22:41:51 +1100) - -- powerpc fixes for 5.12 #2 One non-fix, the conversion of vio_driver->remove() to return void, which touches various powerpc specific drivers. Fix the privilege checks we do in our perf handling, which could cause soft/hard lockups in some configurations. Fix a bug with IRQ affinity seen on kdump kernels when CPU 0 is offline in the second kernel. Fix missed page faults after mprotect(..., PROT_NONE) on 603 (32-bit). Fix a bug in our VSX (vector) instruction emulation, which should only be seen when doing VSX ops to cache inhibited mappings. Three commits fixing various build issues with obscure configurations. Thanks to: Athira Rajeev, Cédric Le Goater, Christophe Leroy, Christoph Plattner, Greg Kurz, Jordan Niethe, Laurent Vivier, Ravi Bangoria, Tyrel Datwyler, Uwe Kleine-König. - -- Athira Rajeev (1): powerpc/perf: Fix handling of privilege level checks in perf interrupt context Christophe Leroy (3): powerpc/603: Fix protection of user pages mapped with PROT_NONE powerpc/syscall: Force inlining of __prep_irq_for_enabled_exit() powerpc: Force inlining of mmu_has_feature to fix build failure Greg Kurz (1): powerpc/pseries: Don't enforce MSI affinity with kdump Jordan Niethe (1): powerpc/sstep: Fix VSX instruction emulation Michael Ellerman (1): powerpc/4xx: Fix build errors from mfdcr() Uwe Kleine-König (1): vio: make remove callback return void arch/powerpc/include/asm/dcr-native.h| 8 +++ arch/powerpc/include/asm/mmu.h | 4 ++-- arch/powerpc/include/asm/vio.h | 2 +- arch/powerpc/kernel/head_book3s_32.S | 9 --- arch/powerpc/kernel/interrupt.c | 2 +- arch/powerpc/lib/sstep.c | 4 ++-- arch/powerpc/perf/core-book3s.c | 4 ++-- arch/powerpc/platforms/pseries/msi.c | 25 ++-- arch/powerpc/platforms/pseries/vio.c | 7 +++--- drivers/char/hw_random/pseries-rng.c | 3 +-- drivers/char/tpm/tpm_ibmvtpm.c | 4 +--- drivers/crypto/nx/nx-842-pseries.c | 4 +--- drivers/crypto/nx/nx.c | 4 +--- drivers/misc/ibmvmc.c| 4 +--- drivers/net/ethernet/ibm/ibmveth.c | 4 +--- drivers/net/ethernet/ibm/ibmvnic.c | 5 +--- drivers/scsi/ibmvscsi/ibmvfc.c | 3 +-- drivers/scsi/ibmvscsi/ibmvscsi.c | 4 +--- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 4 +--- drivers/tty/hvc/hvcs.c | 4 +--- 20 files changed, 55 insertions(+), 53 deletions(-) -BEGIN PGP SIGNATURE- iQIzBAEBCAAdFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAmBEqeAACgkQUevqPMjh pYALkRAAhMzfrU//Dw1pykwjlJhF6TccHSjmLh5y5V3qq95yXdhogx/XamGsuxZx s0hAET3La+2HC75ZVtLbfDct1ZuFNUAqR7n/pyPINTqhAYPeB9VoVRSl7nLL8U19 dhxPKmtb1dBvEQFxtBO7Q5dka3S33sc1dX/ATqhXNeHpEgsN6FT99qOXzOHo3VdR X/i+yXIoTh72f565sxxW/Ca2apy0cfdwwAwsK+S63s9Sxmsx+sF3mtY/rZs04rzg JzsI14empb8nvz8EUJfk+In4uk9+BZxRF92OTGHvCkp6ptv+JtYT2A4h/JWnr0Vq kS40Xwqwa62tvevUgKYcjSvaCsoC5sTaETqV/5WPIIKvXjVe5DMoZWv/JqOGRGHF i4IbnIBEXYodcKaRto7/yNFgCvaInKjVHC1qX46ft809mfRIJlz0akUNwvIl8nRa o479MJpBVtSf+3e491InY26RCpwaBmEB2KM3pR30TZV4jFSWZN55cnJuVW1wj0Gg b1ObTrjJ/WjnIDUxLN2Hq4f60RWWhfxJtq9IplnWNM9kPx9AJRaUvlzS0Z2A7yFa eSNCJlV2aXhJUGOYhVM7FMgHd0HcmF00LC22X+mfxlKbAEm1ys9VmoFPhtnkUMLX menb5yEDGlVq+bDa0ChBUYmFx8jHbyF88YRo16TmtutW4trAr4I= =lgtl -END PGP SIGNATURE-
Re: [PATCH v1 12/15] powerpc/uaccess: Refactor get/put_user() and __get/put_user()
Hi Christophe, I love your patch! Perhaps something to improve: [auto build test WARNING on powerpc/next] [also build test WARNING on v5.12-rc2 next-20210305] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/powerpc-Cleanup-of-uaccess-h/20210226-015715 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-randconfig-s031-20210307 (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-245-gacc5c298-dirty # https://github.com/0day-ci/linux/commit/449bdbf978936e67e4919be8be0eec3e490a65e2 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/powerpc-Cleanup-of-uaccess-h/20210226-015715 git checkout 449bdbf978936e67e4919be8be0eec3e490a65e2 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot "sparse warnings: (new ones prefixed by >>)" >> drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: sparse: incorrect type in >> initializer (different address spaces) @@ expected char [noderef] __user >> *_pu_addr @@ got char *buf @@ drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: expected char [noderef] __user *_pu_addr drivers/w1/slaves/w1_ds28e04.c:342:13: sparse: got char *buf >> drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: sparse: incorrect type in >> initializer (different address spaces) @@ expected char const [noderef] >> __user *_gu_addr @@ got char const *buf @@ drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: expected char const [noderef] __user *_gu_addr drivers/w1/slaves/w1_ds28e04.c:356:13: sparse: got char const *buf -- drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast removes address space '__user' of expression drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast removes address space '__user' of expression >> drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: incorrect type >> in initializer (different address spaces) @@ expected unsigned int >> [noderef] __user *_pu_addr @@ got unsigned int [usertype] * @@ drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: expected unsigned int [noderef] __user *_pu_addr drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: got unsigned int [usertype] * drivers/gpu/drm/radeon/radeon_ttm.c:933:21: sparse: sparse: cast removes address space '__user' of expression vim +342 drivers/w1/slaves/w1_ds28e04.c fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 338 fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 339 static ssize_t crccheck_show(struct device *dev, struct device_attribute *attr, fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 340 char *buf) fbf7f7b4e2ae40 Markus Franke 2012-05-26 341 { fbf7f7b4e2ae40 Markus Franke 2012-05-26 @342 if (put_user(w1_enable_crccheck + 0x30, buf)) fbf7f7b4e2ae40 Markus Franke 2012-05-26 343 return -EFAULT; fbf7f7b4e2ae40 Markus Franke 2012-05-26 344 fbf7f7b4e2ae40 Markus Franke 2012-05-26 345 return sizeof(w1_enable_crccheck); fbf7f7b4e2ae40 Markus Franke 2012-05-26 346 } fbf7f7b4e2ae40 Markus Franke 2012-05-26 347 fa33a65a9cf7e2 Greg Kroah-Hartman 2013-08-21 348 static ssize_t crccheck_store(struct device *dev, struct device_attribute *attr, fbf7f7b4e2ae40 Markus Franke 2012-05-26 349 const char *buf, size_t count) fbf7f7b4e2ae40 Markus Franke 2012-05-26 350 { fbf7f7b4e2ae40 Markus Franke 2012-05-26 351 char val; fbf7f7b4e2ae40 Markus Franke 2012-05-26 352 fbf7f7b4e2ae40 Markus Franke 2012-05-26 353 if (count != 1 || !buf) fbf7f7b4e2ae40 Markus Franke 2012-05-26 354 return -EINVAL; fbf7f7b4e2ae40 Markus Franke 2012-05-26 355 fbf7f7b4e2ae40 Markus Franke 2012-05-26 @356 if (get_user(val, buf)) fbf7f7b4e2ae40 Markus Franke 2012-05-26 357 return -EFAULT; fbf7f7b4e2ae40 Markus Franke 2012-05-26 358 fbf7f7b4e2ae40 Markus Franke 2012-05-26 359 /* convert to decimal */ fbf7f7b4e2ae40 Markus Franke 2012-05-26 360 val = val - 0x30; fbf7f7b4e2ae40 Markus Franke 2012-05-26 361 if (val != 0 && val
[PATCH] net: wan: fix error return code of uhdlc_init()
When priv->rx_skbuff or priv->tx_skbuff is NULL, no error return code of uhdlc_init() is assigned. To fix this bug, ret is assigned with -ENOMEM in these cases. Reported-by: TOTE Robot Signed-off-by: Jia-Ju Bai --- drivers/net/wan/fsl_ucc_hdlc.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wan/fsl_ucc_hdlc.c b/drivers/net/wan/fsl_ucc_hdlc.c index dca97cd7c4e7..7eac6a3e1cde 100644 --- a/drivers/net/wan/fsl_ucc_hdlc.c +++ b/drivers/net/wan/fsl_ucc_hdlc.c @@ -204,14 +204,18 @@ static int uhdlc_init(struct ucc_hdlc_private *priv) priv->rx_skbuff = kcalloc(priv->rx_ring_size, sizeof(*priv->rx_skbuff), GFP_KERNEL); - if (!priv->rx_skbuff) + if (!priv->rx_skbuff) { + ret = -ENOMEM; goto free_ucc_pram; + } priv->tx_skbuff = kcalloc(priv->tx_ring_size, sizeof(*priv->tx_skbuff), GFP_KERNEL); - if (!priv->tx_skbuff) + if (!priv->tx_skbuff) { + ret = -ENOMEM; goto free_rx_skbuff; + } priv->skb_curtx = 0; priv->skb_dirtytx = 0; -- 2.17.1
[PATCH] Replace __toc_start + 0x8000 with .TOC.
TOC relocations are like GOT relocations on other architectures. However, unlike other architectures, GNU ld's ppc64 port defines .TOC. relative to the .got output section instead of the linker synthesized .got input section. LLD defines .TOC. as the .got input section plus 0x8000. When CONFIG_PPC_OF_BOOT_TRAMPOLINE=y, arch/powerpc/kernel/prom_init.o is built, and LLD computed .TOC. can be different from __toc_start defined by the linker script. Simplify kernel_toc_addr with asm label .TOC. so that we can get rid of __toc_start. With this change, powernv_defconfig with CONFIG_PPC_OF_BOOT_TRAMPOLINE=y is bootable with LLD. There is still an untriaged issue with Alexey's configuration. Link: https://github.com/ClangBuiltLinux/linux/issues/1318 Reported-by: Alexey Kardashevskiy Signed-off-by: Fangrui Song --- arch/powerpc/boot/crt0.S| 2 +- arch/powerpc/boot/zImage.lds.S | 1 - arch/powerpc/include/asm/sections.h | 10 ++ arch/powerpc/kernel/head_64.S | 2 +- arch/powerpc/kernel/vmlinux.lds.S | 1 - 5 files changed, 4 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/boot/crt0.S b/arch/powerpc/boot/crt0.S index 1d83966f5ef6..e45907fe468f 100644 --- a/arch/powerpc/boot/crt0.S +++ b/arch/powerpc/boot/crt0.S @@ -28,7 +28,7 @@ p_etext: .8byte _etext p_bss_start: .8byte __bss_start p_end: .8byte _end -p_toc: .8byte __toc_start + 0x8000 - p_base +p_toc: .8byte .TOC. - p_base p_dyn: .8byte __dynamic_start - p_base p_rela:.8byte __rela_dyn_start - p_base p_prom:.8byte 0 diff --git a/arch/powerpc/boot/zImage.lds.S b/arch/powerpc/boot/zImage.lds.S index d6f072865627..32cf7816292f 100644 --- a/arch/powerpc/boot/zImage.lds.S +++ b/arch/powerpc/boot/zImage.lds.S @@ -39,7 +39,6 @@ SECTIONS . = ALIGN(256); .got : { -__toc_start = .; *(.got) *(.toc) } diff --git a/arch/powerpc/include/asm/sections.h b/arch/powerpc/include/asm/sections.h index 324d7b298ec3..bd22ca0b5eca 100644 --- a/arch/powerpc/include/asm/sections.h +++ b/arch/powerpc/include/asm/sections.h @@ -48,14 +48,8 @@ static inline int in_kernel_text(unsigned long addr) static inline unsigned long kernel_toc_addr(void) { - /* Defined by the linker, see vmlinux.lds.S */ - extern unsigned long __toc_start; - - /* -* The TOC register (r2) points 32kB into the TOC, so that 64kB of -* the TOC can be addressed using a single machine instruction. -*/ - return (unsigned long)(&__toc_start) + 0x8000UL; + extern unsigned long toc asm(".TOC."); + return (unsigned long)(); } static inline int overlaps_interrupt_vector_text(unsigned long start, diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index ece7f97bafff..9542d03b2efe 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S @@ -899,7 +899,7 @@ _GLOBAL(relative_toc) blr .balign 8 -p_toc: .8byte __toc_start + 0x8000 - 0b +p_toc: .8byte .TOC. - 0b /* * This is where the main kernel code starts. diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 72fa3c00229a..c28f4e5bae3f 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -328,7 +328,6 @@ SECTIONS . = ALIGN(256); .got : AT(ADDR(.got) - LOAD_OFFSET) { - __toc_start = .; #ifndef CONFIG_RELOCATABLE __prom_init_toc_start = .; arch/powerpc/kernel/prom_init.o*(.toc .got) -- 2.30.1.766.gb4fecdf3b7-goog