Thread (8 messages) 8 messages, 4 authors, 2019-06-05

Re: [PATCH v5 2/3] mm: init: report memory auto-initialization features at boot time

From: Kaiwan N Billimoria <hidden>
Date: 2019-06-05 02:59:07
Also in: linux-mm

On Tue, Jun 4, 2019 at 8:36 PM Alexander Potapenko [off-list ref] wrote:
On Tue, Jun 4, 2019 at 8:01 AM Kaiwan N Billimoria
[off-list ref] wrote:
quoted
On Tue, Jun 4, 2019 at 8:44 AM Kees Cook [off-list ref] wrote:
quoted
On Mon, Jun 03, 2019 at 11:24:49AM +0200, Alexander Potapenko wrote:
quoted
On Sat, Jun 1, 2019 at 3:18 AM Andrew Morton [off-list ref] wrote:
quoted
On Wed, 29 May 2019 14:38:11 +0200 Alexander Potapenko [off-list ref] wrote:
quoted
Print the currently enabled stack and heap initialization modes.

The possible options for stack are:
 - "all" for CONFIG_INIT_STACK_ALL;
 - "byref_all" for CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL;
 - "byref" for CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF;
 - "__user" for CONFIG_GCC_PLUGIN_STRUCTLEAK_USER;
 - "off" otherwise.

Depending on the values of init_on_alloc and init_on_free boottime
options we also report "heap alloc" and "heap free" as "on"/"off".
Why?

Please fully describe the benefit to users so that others can judge the
desirability of the patch.  And so they can review it effectively, etc.
I'm going to update the description with the following passage:

    Print the currently enabled stack and heap initialization modes.

    Stack initialization is enabled by a config flag, while heap
    initialization is configured at boot time with defaults being set
    in the config. It's more convenient for the user to have all information
    about these hardening measures in one place.

Does this make sense?
quoted
Always!
quoted
In the init_on_free mode initializing pages at boot time may take some
time, so print a notice about that as well.
How much time?
I've seen pauses up to 1 second, not actually sure they're worth a
separate line in the log.
Kees, how long were the delays in your case?
I didn't measure it, but I think it was something like 0.5 second per GB.
I noticed because normally boot flashes by. With init_on_free it pauses
for no apparent reason, which is why I suggested the note. (I mean *I*
knew why it was pausing, but it might surprise someone who sets
init_on_free=1 without really thinking about what's about to happen at
boot.)
(Pardon the gmail client)
How about:
- if (want_init_on_free())
-               pr_info("Clearing system memory may take some time...\n");
+  if (want_init_on_free())
+              pr_info("meminit: clearing system memory may take some
time...\n");
Yes, adding a prefix may give the users better understanding of who's
clearing the memory.
We should stick to the same prefix as before though, i.e. "mem auto-init"
True, agreed.
--
Kaiwan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help