lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151123170456.GE768@1wt.eu>
Date:	Mon, 23 Nov 2015 18:04:56 +0100
From:	Willy Tarreau <w@....eu>
To:	Arnd Bergmann <arnd@...db.de>
Cc:	Russell King - ARM Linux <linux@....linux.org.uk>,
	linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org, josh@...htriplett.org
Subject: Re: [RFC] asm-generic: default BUG_ON(x) to "if(x) BUG()"

On Mon, Nov 23, 2015 at 05:52:38PM +0100, Arnd Bergmann wrote:
> On Monday 23 November 2015 16:37:50 Russell King - ARM Linux wrote:
> > On Mon, Nov 23, 2015 at 05:33:59PM +0100, Willy Tarreau wrote:
> > > I think you could do better by simply calling panic("BUG!") instead as
> > > BUG() does. It will avoid the printk() call and pushing the file/line
> > > number onto the stack. It will also probably not inflate the rodata this
> > > way.
> > 
> > Does that not depend on the architectures BUG() implementation?  If an
> > architecture implements it as a signalling illegal instruction and a
> > lookup table, changing it to be a panic() would probably be more code.
> 
> Correct, overall, we are down to a 1.40% size reduction compared to
> 1.70% without my patch and 1.49% with my version:
> 
> section     CONFIG_BUG=y    CONFIG_BUG=n    CONFIG_BUG=n+patch    panic("BUG!")
> 
>  .text            8320248   |     8180944   |     8207688	|  8221848
>  .rodata          3633720   |     3567144   |     3570648	|  3567344
>  __bug_table        32508   |         ---   |         ---	|      ---
>  __modver             692   |        1584   |        2176	|     1384
>  .init.text        558132   |      548300   |      550088	|   550592
>  .exit.text         12380   |       12256   |       12380	|    12448
>  .data            1016672   |     1016064   |     1016128	|  1016064
>  Total           14622556   |    14374510   |    14407326	| 14417898

Thanks for testing :-)

Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ