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-next>] [day] [month] [year] [list]
Message-ID: <20170316091718.GA30508@dhcp22.suse.cz>
Date:   Thu, 16 Mar 2017 10:17:18 +0100
From:   Michal Hocko <mhocko@...nel.org>
To:     linux-kernel@...r.kernel.org
Cc:     richard.weiyang@...il.com, tj@...nel.org,
        mm-commits@...r.kernel.org, Mel Gorman <mgorman@...e.de>,
        linux-mm@...ck.org
Subject: Re: + mm-sparse-refine-usemap_size-a-little.patch added to -mm tree

[CC Mel]

On Fri 10-03-17 14:41:22, Andrew Morton wrote:
> From: Wei Yang <richard.weiyang@...il.com>
> Subject: mm/sparse: refine usemap_size() a little
> 
> Current implementation calculates usemap_size in two steps:
>     * calculate number of bytes to cover these bits
>     * calculate number of "unsigned long" to cover these bytes
> 
> It would be more clear by:
>     * calculate number of "unsigned long" to cover these bits
>     * multiple it with sizeof(unsigned long)
> 
> This patch refine usemap_size() a little to make it more easy to
> understand.

I haven't checked deeply yet but reading through 5c0e3066474b ("Fix
corruption of memmap on IA64 SPARSEMEM when mem_section is not a power
of 2") made me ask whether the case described in the commit message
still applies after this change or whether it has been considered at
all.

> Link: http://lkml.kernel.org/r/20170310043713.96871-1-richard.weiyang@gmail.com
> Signed-off-by: Wei Yang <richard.weiyang@...il.com>
> Cc: Tejun Heo <tj@...nel.org>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> ---
> 
>  mm/sparse.c |    5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff -puN mm/sparse.c~mm-sparse-refine-usemap_size-a-little mm/sparse.c
> --- a/mm/sparse.c~mm-sparse-refine-usemap_size-a-little
> +++ a/mm/sparse.c
> @@ -248,10 +248,7 @@ static int __meminit sparse_init_one_sec
>  
>  unsigned long usemap_size(void)
>  {
> -	unsigned long size_bytes;
> -	size_bytes = roundup(SECTION_BLOCKFLAGS_BITS, 8) / 8;
> -	size_bytes = roundup(size_bytes, sizeof(unsigned long));
> -	return size_bytes;
> +	return BITS_TO_LONGS(SECTION_BLOCKFLAGS_BITS) * sizeof(unsigned long);
>  }
>  
>  #ifdef CONFIG_MEMORY_HOTPLUG
> _
> 
> Patches currently in -mm which might be from richard.weiyang@...il.com are
> 
> mm-sparse-refine-usemap_size-a-little.patch
> mm-page_alloc-return-0-in-case-this-node-has-no-page-within-the-zone.patch
> 
> --
> To unsubscribe from this list: send the line "unsubscribe mm-commits" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Michal Hocko
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ