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  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]
Date:   Thu, 13 Apr 2017 15:43:36 -0400
From:   YASUAKI ISHIMATSU <yasu.isimatu@...il.com>
To:     Michal Hocko <mhocko@...nel.org>, linux-mm@...ck.org
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        Mel Gorman <mgorman@...e.de>, Vlastimil Babka <vbabka@...e.cz>,
        Andrea Arcangeli <aarcange@...hat.com>,
        Jerome Glisse <jglisse@...hat.com>,
        Reza Arbab <arbab@...ux.vnet.ibm.com>, qiuxishi@...wei.com,
        Kani Toshimitsu <toshi.kani@....com>, slaoub@...il.com,
        Joonsoo Kim <js1304@...il.com>,
        Andi Kleen <ak@...ux.intel.com>,
        David Rientjes <rientjes@...gle.com>,
        Daniel Kiper <daniel.kiper@...cle.com>,
        Igor Mammedov <imammedo@...hat.com>,
        Vitaly Kuznetsov <vkuznets@...hat.com>,
        LKML <linux-kernel@...r.kernel.org>,
        Michal Hocko <mhocko@...e.com>
Subject: Re: [PATCH 1/9] mm: remove return value from
 init_currently_empty_zone



On 04/10/2017 07:03 AM, Michal Hocko wrote:
> From: Michal Hocko <mhocko@...e.com>
> 
> init_currently_empty_zone doesn't have any error to return yet it is
> still an int and callers try to be defensive and try to handle potential
> error. Remove this nonsense and simplify all callers.
> 
> This patch shouldn't have any visible effect
> 
> Signed-off-by: Michal Hocko <mhocko@...e.com>
> ---

Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@...fujitsu.com>

Thanks,
Yasuaki Ishimatsu

>  include/linux/mmzone.h |  2 +-
>  mm/memory_hotplug.c    | 23 +++++------------------
>  mm/page_alloc.c        |  8 ++------
>  3 files changed, 8 insertions(+), 25 deletions(-)
> 
> diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
> index ebaccd4e7d8c..0fc121bbf4ff 100644
> --- a/include/linux/mmzone.h
> +++ b/include/linux/mmzone.h
> @@ -771,7 +771,7 @@ enum memmap_context {
>  	MEMMAP_EARLY,
>  	MEMMAP_HOTPLUG,
>  };
> -extern int init_currently_empty_zone(struct zone *zone, unsigned long start_pfn,
> +extern void init_currently_empty_zone(struct zone *zone, unsigned long start_pfn,
>  				     unsigned long size);
>  
>  extern void lruvec_init(struct lruvec *lruvec);
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 257166ebdff0..9ed251811ec3 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -347,27 +347,20 @@ static void fix_zone_id(struct zone *zone, unsigned long start_pfn,
>  		set_page_links(pfn_to_page(pfn), zid, nid, pfn);
>  }
>  
> -/* Can fail with -ENOMEM from allocating a wait table with vmalloc() or
> - * alloc_bootmem_node_nopanic()/memblock_virt_alloc_node_nopanic() */
> -static int __ref ensure_zone_is_initialized(struct zone *zone,
> +static void __ref ensure_zone_is_initialized(struct zone *zone,
>  			unsigned long start_pfn, unsigned long num_pages)
>  {
>  	if (!zone_is_initialized(zone))
> -		return init_currently_empty_zone(zone, start_pfn, num_pages);
> -
> -	return 0;
> +		init_currently_empty_zone(zone, start_pfn, num_pages);
>  }
>  
>  static int __meminit move_pfn_range_left(struct zone *z1, struct zone *z2,
>  		unsigned long start_pfn, unsigned long end_pfn)
>  {
> -	int ret;
>  	unsigned long flags;
>  	unsigned long z1_start_pfn;
>  
> -	ret = ensure_zone_is_initialized(z1, start_pfn, end_pfn - start_pfn);
> -	if (ret)
> -		return ret;
> +	ensure_zone_is_initialized(z1, start_pfn, end_pfn - start_pfn);
>  
>  	pgdat_resize_lock(z1->zone_pgdat, &flags);
>  
> @@ -403,13 +396,10 @@ static int __meminit move_pfn_range_left(struct zone *z1, struct zone *z2,
>  static int __meminit move_pfn_range_right(struct zone *z1, struct zone *z2,
>  		unsigned long start_pfn, unsigned long end_pfn)
>  {
> -	int ret;
>  	unsigned long flags;
>  	unsigned long z2_end_pfn;
>  
> -	ret = ensure_zone_is_initialized(z2, start_pfn, end_pfn - start_pfn);
> -	if (ret)
> -		return ret;
> +	ensure_zone_is_initialized(z2, start_pfn, end_pfn - start_pfn);
>  
>  	pgdat_resize_lock(z1->zone_pgdat, &flags);
>  
> @@ -480,12 +470,9 @@ static int __meminit __add_zone(struct zone *zone, unsigned long phys_start_pfn)
>  	int nid = pgdat->node_id;
>  	int zone_type;
>  	unsigned long flags, pfn;
> -	int ret;
>  
>  	zone_type = zone - pgdat->node_zones;
> -	ret = ensure_zone_is_initialized(zone, phys_start_pfn, nr_pages);
> -	if (ret)
> -		return ret;
> +	ensure_zone_is_initialized(zone, phys_start_pfn, nr_pages);
>  
>  	pgdat_resize_lock(zone->zone_pgdat, &flags);
>  	grow_zone_span(zone, phys_start_pfn, phys_start_pfn + nr_pages);
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 9c587000d408..0cacba69ab04 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -5517,7 +5517,7 @@ static __meminit void zone_pcp_init(struct zone *zone)
>  					 zone_batchsize(zone));
>  }
>  
> -int __meminit init_currently_empty_zone(struct zone *zone,
> +void __meminit init_currently_empty_zone(struct zone *zone,
>  					unsigned long zone_start_pfn,
>  					unsigned long size)
>  {
> @@ -5535,8 +5535,6 @@ int __meminit init_currently_empty_zone(struct zone *zone,
>  
>  	zone_init_free_lists(zone);
>  	zone->initialized = 1;
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_HAVE_MEMBLOCK_NODE_MAP
> @@ -5999,7 +5997,6 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat)
>  {
>  	enum zone_type j;
>  	int nid = pgdat->node_id;
> -	int ret;
>  
>  	pgdat_resize_init(pgdat);
>  #ifdef CONFIG_NUMA_BALANCING
> @@ -6081,8 +6078,7 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat)
>  
>  		set_pageblock_order();
>  		setup_usemap(pgdat, zone, zone_start_pfn, size);
> -		ret = init_currently_empty_zone(zone, zone_start_pfn, size);
> -		BUG_ON(ret);
> +		init_currently_empty_zone(zone, zone_start_pfn, size);
>  		memmap_init(size, nid, j, zone_start_pfn);
>  	}
>  }
> 

Powered by blists - more mailing lists