All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marco Elver <elver@google.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Matthew Wilcox <willy@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Vlastimil Babka <vbabka@suse.cz>, Petr Mladek <pmladek@suse.com>,
	Timur Tabi <timur@kernel.org>,
	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	roman.fietze@magna.com, Kees Cook <keescook@chromium.org>,
	John Ogness <john.ogness@linutronix.de>,
	Akinobu Mita <akinobu.mita@gmail.com>,
	Alexander Potapenko <glider@google.com>,
	Andrey Konovalov <andreyknvl@google.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Pavel Machek <pavel@ucw.cz>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>
Subject: Re: [PATCH 3/3] [v4] lib/vsprintf: no_hash_pointers prints all addresses as unhashed
Date: Tue, 2 Mar 2021 15:57:01 +0100	[thread overview]
Message-ID: <CANpmjNP2Z7O-2GhsjiHtTFzHGEryQPGdjHN6EeGweLWZHq-u2Q@mail.gmail.com> (raw)
In-Reply-To: <CAMuHMdXAH9tVX9Fz2X3L4+e9DkdFoy1qhmEocY69DKJXBQjexQ@mail.gmail.com>

On Tue, 2 Mar 2021 at 15:55, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Marco,
>
> On Tue, Mar 2, 2021 at 3:40 PM Marco Elver <elver@google.com> wrote:
> > On Tue, 2 Mar 2021 at 15:35, Matthew Wilcox <willy@infradead.org> wrote:
> > > On Tue, Mar 02, 2021 at 03:26:50PM +0100, Marco Elver wrote:
> > > > +static const char no_hash_pointers_warning[9][55] __initconst = {
> > > > +     "******************************************************",
> > > > +     "   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   ",
> > > > +     "                                                      ",
> > > > +     " This system shows unhashed kernel memory addresses   ",
> > > > +     " via the console, logs, and other interfaces. This    ",
> > > > +     " might reduce the security of your system.            ",
> > > > +     " If you see this message and you are not debugging    ",
> > > > +     " the kernel, report this immediately to your system   ",
> > > > +     " administrator!                                       ",
> > > > +};
> > > > +
> > > >  static int __init no_hash_pointers_enable(char *str)
> > > >  {
> > > > +     const int lines[] = { 0, 1, 2, 3, 4, 5, 2, 6, 7, 8, 2, 1, 0 };
> > > > +     int i;
> > > > +
> > > >       no_hash_pointers = true;
> > > >
> > > > -     pr_warn("**********************************************************\n");
> > > > -     pr_warn("**   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **\n");
> > > > -     pr_warn("**                                                      **\n");
> > > > -     pr_warn("** This system shows unhashed kernel memory addresses   **\n");
> > > > -     pr_warn("** via the console, logs, and other interfaces. This    **\n");
> > > > -     pr_warn("** might reduce the security of your system.            **\n");
> > > > -     pr_warn("**                                                      **\n");
> > > > -     pr_warn("** If you see this message and you are not debugging    **\n");
> > > > -     pr_warn("** the kernel, report this immediately to your system   **\n");
> > > > -     pr_warn("** administrator!                                       **\n");
> > > > -     pr_warn("**                                                      **\n");
> > > > -     pr_warn("**   NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE   **\n");
> > > > -     pr_warn("**********************************************************\n");
> > > > +     for (i = 0; i < ARRAY_SIZE(lines); i++)
> > > > +             pr_warn("**%s**\n", no_hash_pointers_warning[lines[i]]);
> > >
> > > +       for (i = 0; i < 3; i++)
> > > +               pr_warn("**%s**\n", no_hash_pointers_warning[lines[2 - i]]);
> >
> > Yeah, I had that before, but then wanted to deal with the blank line
> > in the middle of the thing. So I just went with the lines array above,
> > which seemed cleanest for dealing with the middle blank line and
> > footer. Or maybe there's something even nicer I missed? :-)
>
> Gcc deduplicates the identical strings, so you don't have to go through
> a double indirection at all?

In this case I think we do, because we're asking the compiler to
create a giant array char[9][55]. If we had char*[9], then you're
right, but in that case we would not benefit from __initconst for the
majority of the data.

Thanks,
-- Marco

  reply	other threads:[~2021-03-02 19:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-14 16:13 [PATCH 0/3][v4] add support for never printing hashed addresses Timur Tabi
2021-02-14 16:13 ` [PATCH 1/3] [v4] lib: use KSTM_MODULE_GLOBALS macro in kselftest drivers Timur Tabi
2021-02-14 16:13 ` [PATCH 2/3] [v4] kselftest: add support for skipped tests Timur Tabi
2021-02-14 16:13 ` [PATCH 3/3] [v4] lib/vsprintf: no_hash_pointers prints all addresses as unhashed Timur Tabi
2021-03-02 11:51   ` Geert Uytterhoeven
2021-03-02 12:45     ` Marco Elver
2021-03-02 12:51       ` Geert Uytterhoeven
2021-03-02 13:29         ` Petr Mladek
2021-03-02 13:37           ` Vlastimil Babka
2021-03-02 13:49             ` Geert Uytterhoeven
2021-03-02 14:08               ` Steven Rostedt
2021-03-02 14:26                 ` Marco Elver
2021-03-02 14:35                   ` Matthew Wilcox
2021-03-02 14:40                     ` Marco Elver
2021-03-02 14:55                       ` Geert Uytterhoeven
2021-03-02 14:57                         ` Marco Elver [this message]
2021-03-02 14:28                 ` Geert Uytterhoeven
2021-03-02 15:16                   ` Rasmus Villemoes
2021-03-02 15:29                   ` Andy Shevchenko
2021-03-02 17:53               ` Petr Mladek
2021-09-11  2:25   ` Xiaoming Ni
2021-09-11  2:39     ` Tetsuo Handa
2021-02-14 16:18 ` [PATCH 0/3][v4] add support for never printing hashed addresses Timur Tabi
2021-02-15 11:08   ` Petr Mladek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANpmjNP2Z7O-2GhsjiHtTFzHGEryQPGdjHN6EeGweLWZHq-u2Q@mail.gmail.com \
    --to=elver@google.com \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@google.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=geert@linux-m68k.org \
    --cc=glider@google.com \
    --cc=john.ogness@linutronix.de \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=pavel@ucw.cz \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=pmladek@suse.com \
    --cc=roman.fietze@magna.com \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky@gmail.com \
    --cc=timur@kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.