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:	Mon, 16 Jun 2014 11:15:23 +0200
From:	Geert Uytterhoeven <>
To:	Real Name <>
Cc:	Richard Weinberger <>,
	uml-devel <>,
	"" <>
Subject: Re: [PATCH v2] delete unnecessary bootmem struct page array

On Mon, Jun 16, 2014 at 10:28 AM, Real Name <> wrote:
>> > >> Can you please include in the changelog the commit sha1 which made the old init_maps() obsolete?
> I think we need find out which commit deleted the line "mem_map = map;" in init_maps function.


commit 5678d7fc97ac75f7401ce77897773cc0bb3afee5
Author: Dave Hansen <>
Date:   Sun Mar 13 00:22:56 2005 -0800

    [PATCH] no arch-specific mem_map init

    So, this patch started out with me trying to keep from passing contiguous,
    node-specific mem_map into free_area_init_node() and cousins.  Instead, I
    relied on some calls to pfn_to_page().

    This works fine and dandy when all you need is the pgdat->node_mem_map to
    do pfn_to_page().  However, the non-NUMA/DISCONTIG architectures use the
    real, global mem_map[] instead of a node_mem_map in the pfn_to_page()
    calculation.  So, I ended up effectively trying to initialize mem_map from
    itself, when it was NULL.  That was bad, and caused some very pretty colors
    on someone's screen when he tested it.

    So, I had to make sure to initialize the global mem_map[] before calling
    into free_area_init_node().  Then, I realized how many architectures do
    this on their own, and have comments like this:

            /* XXX: MRB-remove - this doesn't seem sane, should this be done som
            mem_map = NODE_DATA(0)->node_mem_map;

    The following patch does what my first one did (don't pass mem_map into the
    init functions), incorporates Jesse Barnes' ia64 fixes on top of that, and
    gets rid of all but one of the global mem_map initializations (parisc is
    weird).  It also magically removes more code than it adds.  It could be
    smaller, but I shamelessly added some comments.

    Boot-tested on ppc64, i386 (NUMAQ, plain SMP, laptop), UML (i386).

    Signed-off-by: Dave Hansen <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>



Geert Uytterhoeven -- There's lots of Linux beyond ia32 --

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists