]> git.ipfire.org Git - people/ms/linux.git/commitdiff
Merge tag 'powerpc-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 May 2022 18:27:17 +0000 (11:27 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 May 2022 18:27:17 +0000 (11:27 -0700)
Pull powerpc updates from Michael Ellerman:

 - Convert to the generic mmap support (ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT)

 - Add support for outline-only KASAN with 64-bit Radix MMU (P9 or later)

 - Increase SIGSTKSZ and MINSIGSTKSZ and add support for AT_MINSIGSTKSZ

 - Enable the DAWR (Data Address Watchpoint) on POWER9 DD2.3 or later

 - Drop support for system call instruction emulation

 - Many other small features and fixes

Thanks to Alexey Kardashevskiy, Alistair Popple, Andy Shevchenko, Bagas
Sanjaya, Bjorn Helgaas, Bo Liu, Chen Huang, Christophe Leroy, Colin Ian
King, Daniel Axtens, Dwaipayan Ray, Fabiano Rosas, Finn Thain, Frank
Rowand, Fuqian Huang, Guilherme G. Piccoli, Hangyu Hua, Haowen Bai,
Haren Myneni, Hari Bathini, He Ying, Jason Wang, Jiapeng Chong, Jing
Yangyang, Joel Stanley, Julia Lawall, Kajol Jain, Kevin Hao, Krzysztof
Kozlowski, Laurent Dufour, Lv Ruyi, Madhavan Srinivasan, Magali Lemes,
Miaoqian Lin, Minghao Chi, Nathan Chancellor, Naveen N. Rao, Nicholas
Piggin, Oliver O'Halloran, Oscar Salvador, Pali Rohár, Paul Mackerras,
Peng Wu, Qing Wang, Randy Dunlap, Reza Arbab, Russell Currey, Sohaib
Mohamed, Vaibhav Jain, Vasant Hegde, Wang Qing, Wang Wensheng, Xiang
wangx, Xiaomeng Tong, Xu Wang, Yang Guang, Yang Li, Ye Bin, YueHaibing,
Yu Kuai, Zheng Bin, Zou Wei, and Zucheng Zheng.

* tag 'powerpc-5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (200 commits)
  powerpc/64: Include cache.h directly in paca.h
  powerpc/64s: Only set HAVE_ARCH_UNMAPPED_AREA when CONFIG_PPC_64S_HASH_MMU is set
  powerpc/xics: Include missing header
  powerpc/powernv/pci: Drop VF MPS fixup
  powerpc/fsl_book3e: Don't set rodata RO too early
  powerpc/microwatt: Add mmu bits to device tree
  powerpc/powernv/flash: Check OPAL flash calls exist before using
  powerpc/powermac: constify device_node in of_irq_parse_oldworld()
  powerpc/powermac: add missing g5_phy_disable_cpu1() declaration
  selftests/powerpc/pmu: fix spelling mistake "mis-match" -> "mismatch"
  powerpc: Enable the DAWR on POWER9 DD2.3 and above
  powerpc/64s: Add CPU_FTRS_POWER10 to ALWAYS mask
  powerpc/64s: Add CPU_FTRS_POWER9_DD2_2 to CPU_FTRS_ALWAYS mask
  powerpc: Fix all occurences of "the the"
  selftests/powerpc/pmu/ebb: remove fixed_instruction.S
  powerpc/platforms/83xx: Use of_device_get_match_data()
  powerpc/eeh: Drop redundant spinlock initialization
  powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
  powerpc/pseries/vas: Call misc_deregister if sysfs init fails
  powerpc/papr_scm: Fix leaking nvdimm_events_map elements
  ...

17 files changed:
1  2 
arch/Kconfig
arch/arm64/include/asm/processor.h
arch/powerpc/Kconfig
arch/powerpc/Makefile
arch/powerpc/boot/Makefile
arch/powerpc/include/asm/book3s/64/pgtable.h
arch/powerpc/include/asm/hugetlb.h
arch/powerpc/include/asm/svm.h
arch/powerpc/kernel/crash_dump.c
arch/powerpc/kernel/fadump.c
arch/powerpc/mm/book3s64/pgtable.c
arch/powerpc/mm/mem.c
arch/powerpc/platforms/pseries/setup.c
fs/hugetlbfs/inode.c
include/linux/hugetlb.h
mm/mmap.c
mm/util.c

diff --cc arch/Kconfig
Simple merge
Simple merge
index 22e2f1113c4c3815f111068dc10ab1029f2cf989,f5ed355e75e6173fe7a75089fcf6bfa85829489a..3eaddb8997a92f5fa4f377bab3077e92d9dbd295
@@@ -158,7 -158,7 +159,8 @@@ config PP
        select ARCH_WANT_IPC_PARSE_VERSION
        select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
        select ARCH_WANT_LD_ORPHAN_WARN
 +      select ARCH_WANTS_MODULES_DATA_IN_VMALLOC       if PPC_BOOK3S_32 || PPC_8xx
+       select ARCH_WANTS_NO_INSTR
        select ARCH_WEAK_RELEASE_ACQUIRE
        select BINFMT_ELF
        select BUILDTIME_TABLE_SORT
Simple merge
Simple merge
Simple merge
Simple merge
index 32b4a97f1b79bb2aae51f0a9cee46ca6e6a65a39,c438c60fbc545978b31c203eb481078e025bbcbd..9a3b85bfc83f7b72e5356a7353805d79d8b64622
  #include <linux/crash_dump.h>
  #include <linux/io.h>
  #include <linux/memblock.h>
+ #include <linux/of.h>
  #include <asm/code-patching.h>
  #include <asm/kdump.h>
- #include <asm/prom.h>
  #include <asm/firmware.h>
 -#include <linux/uaccess.h>
 +#include <linux/uio.h>
  #include <asm/rtas.h>
  #include <asm/inst.h>
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc mm/mmap.c
Simple merge
diff --cc mm/util.c
index 29f4f773dc7b5337d4b4cdbdde4abd01cf44dfbd,44fbf211312d3a455ae1d2c15b05836782b0e9fe..0837570c922513a4c7931c20278a1cd1bb916c62
+++ b/mm/util.c
@@@ -344,40 -343,8 +344,40 @@@ unsigned long randomize_stack_top(unsig
  #endif
  }
  
 +/**
 + * randomize_page - Generate a random, page aligned address
 + * @start:    The smallest acceptable address the caller will take.
 + * @range:    The size of the area, starting at @start, within which the
 + *            random address must fall.
 + *
 + * If @start + @range would overflow, @range is capped.
 + *
 + * NOTE: Historical use of randomize_range, which this replaces, presumed that
 + * @start was already page aligned.  We now align it regardless.
 + *
 + * Return: A page aligned address within [start, start + range).  On error,
 + * @start is returned.
 + */
 +unsigned long randomize_page(unsigned long start, unsigned long range)
 +{
 +      if (!PAGE_ALIGNED(start)) {
 +              range -= PAGE_ALIGN(start) - start;
 +              start = PAGE_ALIGN(start);
 +      }
 +
 +      if (start > ULONG_MAX - range)
 +              range = ULONG_MAX - start;
 +
 +      range >>= PAGE_SHIFT;
 +
 +      if (range == 0)
 +              return start;
 +
 +      return start + (get_random_long() % range << PAGE_SHIFT);
 +}
 +
  #ifdef CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
- unsigned long arch_randomize_brk(struct mm_struct *mm)
+ unsigned long __weak arch_randomize_brk(struct mm_struct *mm)
  {
        /* Is the current task 32bit ? */
        if (!IS_ENABLED(CONFIG_64BIT) || is_compat_task())