From: Andrew Morton <akpm@linux-foundation.org>
To: Roland Dreier <rdreier@cisco.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>,
Nguyen Anh Quynh <aquynh@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
Kuniyasu Suzaki <k.suzaki@aist.go.jp>
Subject: Re: [PATCH] fix calls to request_module()
Date: Wed, 10 Dec 2008 21:41:42 -0800 [thread overview]
Message-ID: <20081210214142.9e7b2298.akpm@linux-foundation.org> (raw)
In-Reply-To: <adatz9b2thy.fsf@cisco.com>
On Wed, 10 Dec 2008 21:03:37 -0800 Roland Dreier <rdreier@cisco.com> wrote:
> The kernel has such code eg in init/main.c, which does
>
> printk(linux_banner);
>
> when linux_banner is only visible to the compiler as
>
> extern const char linux_banner[];
>
> however the trivial fix
>
> diff --git a/init/main.c b/init/main.c
> index 7e117a2..e471598 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -568,7 +568,7 @@ asmlinkage void __init start_kernel(void)
> boot_cpu_init();
> page_address_init();
> printk(KERN_NOTICE);
> - printk(linux_banner);
> + printk("%s", linux_banner);
> setup_arch(&command_line);
> mm_init_owner(&init_mm, &init_task);
> setup_command_line(command_line);
>
> doesn't seem that appealing, since it bloats the object code for a
> non-bug -- 7 bytes for me on x86_64:
>
> add/remove: 0/0 grow/shrink: 1/0 up/down: 7/0 (7)
> function old new delta
> start_kernel 680 687 +7
>
> given the number of such warnings I see in a typical compile, this would
> be a fairly hefty amount of bloat just to shut up gcc.
yes, that would suck. otoh, our current warning spew actually causes bugs.
I wonder if we could add a printk_stfu() which isn't declared
attribute(printf) and which simply calls printk. We might still get a
single warning at the interface point.
> On the other hand, gcc warning on such code (untrusted format string
> passed into a printf-like function) seems quite legitimate as well.
Yes, we've had actual bugs in the kernel from this, where the control
string was user-provided. root-only user, fortunately.
next prev parent reply other threads:[~2008-12-11 5:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-11 3:35 [PATCH] fix calls to request_module() Nguyen Anh Quynh
2008-12-11 4:01 ` Al Viro
2008-12-11 4:14 ` Nguyen Anh Quynh
2008-12-11 4:14 ` Andrew Morton
2008-12-11 4:23 ` Nguyen Anh Quynh
2008-12-11 4:40 ` Jianjun Kong
2008-12-11 4:43 ` Nguyen Anh Quynh
2008-12-11 5:02 ` Jianjun Kong
2008-12-11 5:00 ` Al Viro
2008-12-11 5:42 ` Nguyen Anh Quynh
2008-12-11 6:00 ` Al Viro
2008-12-11 6:28 ` Nguyen Anh Quynh
2008-12-11 4:49 ` Al Viro
2008-12-11 5:03 ` Roland Dreier
2008-12-11 5:41 ` Andrew Morton [this message]
2008-12-11 23:25 ` Roland Dreier
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=20081210214142.9e7b2298.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=aquynh@gmail.com \
--cc=k.suzaki@aist.go.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=rdreier@cisco.com \
--cc=viro@ZenIV.linux.org.uk \
/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.