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]
Date:	Wed, 7 Sep 2011 18:04:52 +0100
From:	Russell King - ARM Linux <linux@....linux.org.uk>
To:	Måns Rullgård <mans@...sr.com>
Cc:	Catalin Marinas <catalin.marinas@....com>,
	Nicolas Pitre <nicolas.pitre@...aro.org>,
	Dave Martin <dave.martin@...aro.org>,
	John Ogness <john.ogness@...utronix.de>,
	Will Deacon <Will.Deacon@....com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Grant Likely <grant.likely@...retlab.ca>,
	"linux-arm-kernel@...ts.infradead.org" 
	<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] ARM: alignment: setup alignment handler earlier

On Wed, Sep 07, 2011 at 05:42:19PM +0100, Måns Rullgård wrote:
> There are such instructions (ldrd, ldm), but gcc will not emit those
> unless the address is known to be aligned.  For ARMv6 and later, gcc 4.6
> *will* emit potentially unaligned ldr and ldrh since these very clearly
> allow an unaligned address and are faster than the alternatives in all
> implementations to date.  This is unless strict alignment checking is
> explicitly enabled, which unfortunately the Linux kernel does for no
> apparent reason at all.

"no apparant reason at all" heh.  The reason is to keep the code
simple and free from bugs.  To do otherwise means that each of the
CPU files needs to be littered with ifdefs to deal with the alignment
fault configuration, of which there are 16 of them (ignoring v6 and v7.)

If you think code maintanence of the same thing in 16 places is efficient
then I guess there is "no apparant reason".  I beg to differ, being one
of those folk who have had to edit 18 different places several times.

So no, I do not intend to move this:

#ifdef CONFIG_ALIGNMENT_TRAP
        orr     r0, r0, #CR_A
#else
        bic     r0, r0, #CR_A
#endif

into 16 separate places in the kernel.
--
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