lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180906090854.GM14951@dhcp22.suse.cz>
Date:   Thu, 6 Sep 2018 11:08:54 +0200
From:   Michal Hocko <mhocko@...nel.org>
To:     Mike Rapoport <rppt@...ux.vnet.ibm.com>
Cc:     linux-mm@...ck.org, Andrew Morton <akpm@...ux-foundation.org>,
        "David S. Miller" <davem@...emloft.net>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Ingo Molnar <mingo@...hat.com>,
        Michael Ellerman <mpe@...erman.id.au>,
        Paul Burton <paul.burton@...s.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Tony Luck <tony.luck@...el.com>, linux-ia64@...r.kernel.org,
        linux-mips@...ux-mips.org, linuxppc-dev@...ts.ozlabs.org,
        sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH 28/29] memblock: replace BOOTMEM_ALLOC_* with
 MEMBLOCK variants

On Wed 05-09-18 18:59:43, Mike Rapoport wrote:
> Drop BOOTMEM_ALLOC_ACCESSIBLE and BOOTMEM_ALLOC_ANYWHERE in favor of
> identical MEMBLOCK definitions.
> 
> Signed-off-by: Mike Rapoport <rppt@...ux.vnet.ibm.com>

Acked-by: Michal Hocko <mhocko@...e.com>

> ---
>  arch/ia64/mm/discontig.c       | 2 +-
>  arch/powerpc/kernel/setup_64.c | 2 +-
>  arch/sparc/kernel/smp_64.c     | 2 +-
>  arch/x86/kernel/setup_percpu.c | 2 +-
>  arch/x86/mm/kasan_init_64.c    | 4 ++--
>  mm/hugetlb.c                   | 3 ++-
>  mm/kasan/kasan_init.c          | 2 +-
>  mm/memblock.c                  | 8 ++++----
>  mm/page_ext.c                  | 2 +-
>  mm/sparse-vmemmap.c            | 3 ++-
>  mm/sparse.c                    | 5 +++--
>  11 files changed, 19 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
> index 918dda9..70609f8 100644
> --- a/arch/ia64/mm/discontig.c
> +++ b/arch/ia64/mm/discontig.c
> @@ -453,7 +453,7 @@ static void __init *memory_less_node_alloc(int nid, unsigned long pernodesize)
>  
>  	ptr = memblock_alloc_try_nid(pernodesize, PERCPU_PAGE_SIZE,
>  				     __pa(MAX_DMA_ADDRESS),
> -				     BOOTMEM_ALLOC_ACCESSIBLE,
> +				     MEMBLOCK_ALLOC_ACCESSIBLE,
>  				     bestnode);
>  
>  	return ptr;
> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
> index e564b27..b3e70cc 100644
> --- a/arch/powerpc/kernel/setup_64.c
> +++ b/arch/powerpc/kernel/setup_64.c
> @@ -758,7 +758,7 @@ void __init emergency_stack_init(void)
>  static void * __init pcpu_fc_alloc(unsigned int cpu, size_t size, size_t align)
>  {
>  	return memblock_alloc_try_nid(size, align, __pa(MAX_DMA_ADDRESS),
> -				      BOOTMEM_ALLOC_ACCESSIBLE,
> +				      MEMBLOCK_ALLOC_ACCESSIBLE,
>  				      early_cpu_to_node(cpu));
>  
>  }
> diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c
> index a087a6a..6cc80d0 100644
> --- a/arch/sparc/kernel/smp_64.c
> +++ b/arch/sparc/kernel/smp_64.c
> @@ -1595,7 +1595,7 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, size_t size,
>  			 cpu, size, __pa(ptr));
>  	} else {
>  		ptr = memblock_alloc_try_nid(size, align, goal,
> -					     BOOTMEM_ALLOC_ACCESSIBLE, node);
> +					     MEMBLOCK_ALLOC_ACCESSIBLE, node);
>  		pr_debug("per cpu data for cpu%d %lu bytes on node%d at "
>  			 "%016lx\n", cpu, size, node, __pa(ptr));
>  	}
> diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
> index a006f1b..483412f 100644
> --- a/arch/x86/kernel/setup_percpu.c
> +++ b/arch/x86/kernel/setup_percpu.c
> @@ -114,7 +114,7 @@ static void * __init pcpu_alloc_bootmem(unsigned int cpu, unsigned long size,
>  			 cpu, size, __pa(ptr));
>  	} else {
>  		ptr = memblock_alloc_try_nid_nopanic(size, align, goal,
> -						     BOOTMEM_ALLOC_ACCESSIBLE,
> +						     MEMBLOCK_ALLOC_ACCESSIBLE,
>  						     node);
>  
>  		pr_debug("per cpu data for cpu%d %lu bytes on node%d at %016lx\n",
> diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c
> index 77b857c..8f87499 100644
> --- a/arch/x86/mm/kasan_init_64.c
> +++ b/arch/x86/mm/kasan_init_64.c
> @@ -29,10 +29,10 @@ static __init void *early_alloc(size_t size, int nid, bool panic)
>  {
>  	if (panic)
>  		return memblock_alloc_try_nid(size, size,
> -			__pa(MAX_DMA_ADDRESS), BOOTMEM_ALLOC_ACCESSIBLE, nid);
> +			__pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_ACCESSIBLE, nid);
>  	else
>  		return memblock_alloc_try_nid_nopanic(size, size,
> -			__pa(MAX_DMA_ADDRESS), BOOTMEM_ALLOC_ACCESSIBLE, nid);
> +			__pa(MAX_DMA_ADDRESS), MEMBLOCK_ALLOC_ACCESSIBLE, nid);
>  }
>  
>  static void __init kasan_populate_pmd(pmd_t *pmd, unsigned long addr,
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 3f5419c..ee0b140 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -16,6 +16,7 @@
>  #include <linux/cpuset.h>
>  #include <linux/mutex.h>
>  #include <linux/bootmem.h>
> +#include <linux/memblock.h>
>  #include <linux/sysfs.h>
>  #include <linux/slab.h>
>  #include <linux/mmdebug.h>
> @@ -2102,7 +2103,7 @@ int __alloc_bootmem_huge_page(struct hstate *h)
>  
>  		addr = memblock_alloc_try_nid_raw(
>  				huge_page_size(h), huge_page_size(h),
> -				0, BOOTMEM_ALLOC_ACCESSIBLE, node);
> +				0, MEMBLOCK_ALLOC_ACCESSIBLE, node);
>  		if (addr) {
>  			/*
>  			 * Use the beginning of the huge page to store the
> diff --git a/mm/kasan/kasan_init.c b/mm/kasan/kasan_init.c
> index 24d734b..785a970 100644
> --- a/mm/kasan/kasan_init.c
> +++ b/mm/kasan/kasan_init.c
> @@ -84,7 +84,7 @@ static inline bool kasan_zero_page_entry(pte_t pte)
>  static __init void *early_alloc(size_t size, int node)
>  {
>  	return memblock_alloc_try_nid(size, size, __pa(MAX_DMA_ADDRESS),
> -					BOOTMEM_ALLOC_ACCESSIBLE, node);
> +					MEMBLOCK_ALLOC_ACCESSIBLE, node);
>  }
>  
>  static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr,
> diff --git a/mm/memblock.c b/mm/memblock.c
> index 3f76d40..6061914 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1417,7 +1417,7 @@ phys_addr_t __init memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t ali
>   * hold the requested memory.
>   *
>   * The allocation is performed from memory region limited by
> - * memblock.current_limit if @max_addr == %BOOTMEM_ALLOC_ACCESSIBLE.
> + * memblock.current_limit if @max_addr == %MEMBLOCK_ALLOC_ACCESSIBLE.
>   *
>   * The memory block is aligned on %SMP_CACHE_BYTES if @align == 0.
>   *
> @@ -1504,7 +1504,7 @@ static void * __init memblock_alloc_internal(
>   * @min_addr: the lower bound of the memory region from where the allocation
>   *	  is preferred (phys address)
>   * @max_addr: the upper bound of the memory region from where the allocation
> - *	      is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to
> + *	      is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to
>   *	      allocate only from memory limited by memblock.current_limit value
>   * @nid: nid of the free area to find, %NUMA_NO_NODE for any node
>   *
> @@ -1542,7 +1542,7 @@ void * __init memblock_alloc_try_nid_raw(
>   * @min_addr: the lower bound of the memory region from where the allocation
>   *	  is preferred (phys address)
>   * @max_addr: the upper bound of the memory region from where the allocation
> - *	      is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to
> + *	      is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to
>   *	      allocate only from memory limited by memblock.current_limit value
>   * @nid: nid of the free area to find, %NUMA_NO_NODE for any node
>   *
> @@ -1577,7 +1577,7 @@ void * __init memblock_alloc_try_nid_nopanic(
>   * @min_addr: the lower bound of the memory region from where the allocation
>   *	  is preferred (phys address)
>   * @max_addr: the upper bound of the memory region from where the allocation
> - *	      is preferred (phys address), or %BOOTMEM_ALLOC_ACCESSIBLE to
> + *	      is preferred (phys address), or %MEMBLOCK_ALLOC_ACCESSIBLE to
>   *	      allocate only from memory limited by memblock.current_limit value
>   * @nid: nid of the free area to find, %NUMA_NO_NODE for any node
>   *
> diff --git a/mm/page_ext.c b/mm/page_ext.c
> index e77c0f0..5323c2a 100644
> --- a/mm/page_ext.c
> +++ b/mm/page_ext.c
> @@ -163,7 +163,7 @@ static int __init alloc_node_page_ext(int nid)
>  
>  	base = memblock_alloc_try_nid_nopanic(
>  			table_size, PAGE_SIZE, __pa(MAX_DMA_ADDRESS),
> -			BOOTMEM_ALLOC_ACCESSIBLE, nid);
> +			MEMBLOCK_ALLOC_ACCESSIBLE, nid);
>  	if (!base)
>  		return -ENOMEM;
>  	NODE_DATA(nid)->node_page_ext = base;
> diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c
> index 91c2c3d..7408cab 100644
> --- a/mm/sparse-vmemmap.c
> +++ b/mm/sparse-vmemmap.c
> @@ -21,6 +21,7 @@
>  #include <linux/mm.h>
>  #include <linux/mmzone.h>
>  #include <linux/bootmem.h>
> +#include <linux/memblock.h>
>  #include <linux/memremap.h>
>  #include <linux/highmem.h>
>  #include <linux/slab.h>
> @@ -43,7 +44,7 @@ static void * __ref __earlyonly_bootmem_alloc(int node,
>  				unsigned long goal)
>  {
>  	return memblock_alloc_try_nid_raw(size, align, goal,
> -					       BOOTMEM_ALLOC_ACCESSIBLE, node);
> +					       MEMBLOCK_ALLOC_ACCESSIBLE, node);
>  }
>  
>  void * __meminit vmemmap_alloc_block(unsigned long size, int node)
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 509828f..0dcc306 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -6,6 +6,7 @@
>  #include <linux/slab.h>
>  #include <linux/mmzone.h>
>  #include <linux/bootmem.h>
> +#include <linux/memblock.h>
>  #include <linux/compiler.h>
>  #include <linux/highmem.h>
>  #include <linux/export.h>
> @@ -393,7 +394,7 @@ struct page __init *sparse_mem_map_populate(unsigned long pnum, int nid,
>  
>  	map = memblock_alloc_try_nid(size,
>  					  PAGE_SIZE, __pa(MAX_DMA_ADDRESS),
> -					  BOOTMEM_ALLOC_ACCESSIBLE, nid);
> +					  MEMBLOCK_ALLOC_ACCESSIBLE, nid);
>  	return map;
>  }
>  #endif /* !CONFIG_SPARSEMEM_VMEMMAP */
> @@ -407,7 +408,7 @@ static void __init sparse_buffer_init(unsigned long size, int nid)
>  	sparsemap_buf =
>  		memblock_alloc_try_nid_raw(size, PAGE_SIZE,
>  						__pa(MAX_DMA_ADDRESS),
> -						BOOTMEM_ALLOC_ACCESSIBLE, nid);
> +						MEMBLOCK_ALLOC_ACCESSIBLE, nid);
>  	sparsemap_buf_end = sparsemap_buf + size;
>  }
>  
> -- 
> 2.7.4
> 

-- 
Michal Hocko
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ