From: Eric Sandeen <sandeen@redhat.com>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>, Dave Jones <davej@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
esandeen@redhat.com, cebbert@redhat.com,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: Unnecessary overhead with stack protector.
Date: Wed, 21 Oct 2009 13:59:04 -0500 [thread overview]
Message-ID: <4ADF59F8.7010205@redhat.com> (raw)
In-Reply-To: <20091021110053.26ab9982@infradead.org>
Arjan van de Ven wrote:
> On Wed, 21 Oct 2009 10:50:02 -0500
> Eric Sandeen <sandeen@redhat.com> wrote:
>
>> Ingo Molnar wrote:
>>> (Cc:-ed Arjan too.)
>>>
>>> * Dave Jones <davej@redhat.com> wrote:
>>>
>>>> 113c5413cf9051cc50b88befdc42e3402bb92115 introduced a change that
>>>> made CC_STACKPROTECTOR_ALL not-selectable if someone enables
>>>> CC_STACKPROTECTOR.
>>>>
>>>> We've noticed in Fedora that this has introduced noticable
>>>> overhead on some functions, including those which don't even have
>>>> any on-stack variables.
>>>>
>>>> According to the gcc manpage, -fstack-protector will protect
>>>> functions with as little as 8 bytes of stack usage. So we're
>>>> introducing a huge amount of overhead, to close a small amount of
>>>> vulnerability (the >0 && <8 case).
>>>>
>>>> The overhead as it stands right now means this whole option is
>>>> unusable for a distro kernel without reverting the above commit.
>>> Exactly what workload showed overhead, and how much?
>>>
>>> Ingo
>> I had xfs blowing up pretty nicely; granted, xfs is not svelte but it
>> was never this bad before.
>>
>
> do you have any indication that SP actually increases the stack
> footprint by that much? it's only a few bytes....
>
>
Here's a sample of some of the largest xfs stack users,
and the effect stack-protector had on them. This was just
done with objdump -d xfs.ko | scripts/checkstack.pl; I don't
know if there's extra runtime stack overhead w/ stackprotector?
-Eric
function nostack stackprot delta delta %
xfs_bmapi 376 408 32 9%
xfs_bulkstat 328 344 16 5%
_xfs_trans_commit 296 312 16 5%
xfs_iomap_write_delay 264 280 16 6%
xfs_file_ioctl 248 312 64 26%
xfs_symlink 248 264 16 6%
xfs_bunmapi 232 280 48 21%
xlog_do_recovery_pass 232 248 16 7%
xfs_trans_unreserve_and_mod_sb 224 240 16 7%
xfs_bmap_del_extent 216 248 32 15%
xfs_cluster_write 216 232 16 7%
xfs_file_compat_ioctl 216 296 80 37%
xfs_attr_set_int 200 216 16 8%
xfs_bmap_add_extent_delay_real 200 248 48 24%
next prev parent reply other threads:[~2009-10-21 18:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-15 18:35 Unnecessary overhead with stack protector Dave Jones
2009-10-15 19:07 ` Ingo Molnar
2009-10-21 15:50 ` Eric Sandeen
2009-10-21 18:00 ` Arjan van de Ven
2009-10-21 18:59 ` Eric Sandeen [this message]
2009-10-21 19:09 ` Eric Sandeen
2009-10-21 19:24 ` Eric Sandeen
2009-10-21 21:08 ` Chuck Ebbert
2009-10-21 19:16 ` XFS stack overhead Ingo Molnar
2009-10-21 19:21 ` Eric Sandeen
2009-10-21 20:22 ` Chuck Ebbert
2009-10-22 1:26 ` Unnecessary overhead with stack protector Andrew Morton
2009-10-26 16:30 ` Chuck Ebbert
2009-10-26 16:37 ` Andrew Morton
2009-10-26 16:56 ` Chuck Ebbert
2009-10-26 20:03 ` Ingo Molnar
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=4ADF59F8.7010205@redhat.com \
--to=sandeen@redhat.com \
--cc=arjan@infradead.org \
--cc=cebbert@redhat.com \
--cc=davej@redhat.com \
--cc=esandeen@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
/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.