From: Joe Perches <joe@perches.com>
To: Valdis.Kletnieks@vt.edu, kernel-hardening@lists.openwall.com
Cc: Emese Revfy <re.emese@gmail.com>,
Matt Davis <mattdavis9@gmail.com>,
pageexec@freemail.hu, spender@grsecurity.net, mmarek@suse.com,
keescook@chromium.org, linux-kernel@vger.kernel.org,
yamada.masahiro@socionext.com, linux-kbuild@vger.kernel.org,
minipli@ld-linux.so, linux@armlinux.org.uk,
catalin.marinas@arm.com, linux@rasmusvillemoes.dk,
david.brown@linaro.org, benh@kernel.crashing.org,
tglx@linutronix.de, akpm@linux-foundation.org,
jlayton@poochiereds.net, arnd@arndb.de
Subject: Re: [kernel-hardening] Re: [PATCH v1 0/2] Introduce the initify gcc plugin
Date: Tue, 28 Jun 2016 16:54:09 -0700 [thread overview]
Message-ID: <1467158049.24287.90.camel@perches.com> (raw)
In-Reply-To: <47053.1467151621@turing-police.cc.vt.edu>
On Tue, 2016-06-28 at 18:07 -0400, Valdis.Kletnieks@vt.edu wrote:
> On Tue, 28 Jun 2016 14:49:15 -0700, Joe Perches said:
>
> >
> > Another potentially useful plugin, especially for embedded systems,
> > would be to compress any string literal marked with
> >
> > __attribute__((format(printf, string-index,)))
> >
> > and decompress the compressed format on the stack in lib/vsprintf.c
> > vsnprintf just before use.
> Are there enough such strings in the kernel to make it worth the effort?
> I'm assuming that the string literals in printk("some string here") are
> automatically so marked?
Yes, that's the concept.
> Is there a minimum length under which the compression overhead actually
> makes it larger?
No, compression would have to be possible, otherwise it'd
be stored directly. Compression would use a special
"compressed string" header with a 2 byte overhead and
then stored with no trailing \0.
Something like struct compressed_format_header {
u8 flag; /* Must be ASCII STX or "\b" */
u8 length;
}
Depends on the config of course, but it could reduce total
image size ~50k on an x86-32 defconfig
prev parent reply other threads:[~2016-06-28 23:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-28 11:34 [PATCH v1 0/2] Introduce the initify gcc plugin Emese Revfy
2016-06-28 11:35 ` [PATCH v1 1/2] Add " Emese Revfy
2016-06-28 21:05 ` Rasmus Villemoes
2016-06-29 14:50 ` Kees Cook
2016-06-29 19:03 ` Emese Revfy
2016-06-28 11:36 ` [PATCH v1 2/2] Mark functions with the __nocapture attribute Emese Revfy
2016-06-28 16:43 ` Joe Perches
2016-06-28 20:40 ` Emese Revfy
2016-06-28 21:00 ` Joe Perches
2016-06-29 18:42 ` Emese Revfy
2016-06-30 0:12 ` Joe Perches
2016-07-01 14:03 ` Emese Revfy
2016-06-28 20:50 ` Rasmus Villemoes
2016-06-28 21:38 ` PaX Team
2016-06-28 22:41 ` Rasmus Villemoes
2016-06-29 18:39 ` Emese Revfy
2016-06-28 11:42 ` [PATCH v1 0/2] Introduce the initify gcc plugin Emese Revfy
2016-06-28 12:57 ` [kernel-hardening] " Mark Rutland
2016-06-28 16:14 ` Emese Revfy
2016-06-28 20:46 ` Kees Cook
2016-06-29 8:21 ` Mark Rutland
2016-06-29 17:52 ` Mark Rutland
2016-06-29 18:28 ` Emese Revfy
2016-06-28 16:35 ` Joe Perches
2016-06-28 18:48 ` Joe Perches
2016-06-28 19:02 ` Rasmus Villemoes
2016-06-28 20:29 ` Emese Revfy
2016-06-28 17:00 ` Mathias Krause
2016-06-28 20:29 ` Emese Revfy
2016-06-28 21:49 ` Joe Perches
2016-06-28 22:07 ` [kernel-hardening] " Valdis.Kletnieks
2016-06-28 23:54 ` Joe Perches [this message]
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=1467158049.24287.90.camel@perches.com \
--to=joe@perches.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=catalin.marinas@arm.com \
--cc=david.brown@linaro.org \
--cc=jlayton@poochiereds.net \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@rasmusvillemoes.dk \
--cc=mattdavis9@gmail.com \
--cc=minipli@ld-linux.so \
--cc=mmarek@suse.com \
--cc=pageexec@freemail.hu \
--cc=re.emese@gmail.com \
--cc=spender@grsecurity.net \
--cc=tglx@linutronix.de \
--cc=yamada.masahiro@socionext.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox