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:   Tue, 13 Sep 2022 12:21:51 +0000
From:   Christophe Leroy <christophe.leroy@...roup.eu>
To:     Peter Zijlstra <peterz@...radead.org>,
        Sathvika Vasireddy <sv@...ux.ibm.com>
CC:     "linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
        "jpoimboe@...hat.com" <jpoimboe@...hat.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "aik@...abs.ru" <aik@...abs.ru>,
        "mpe@...erman.id.au" <mpe@...erman.id.au>,
        "mingo@...hat.com" <mingo@...hat.com>,
        "rostedt@...dmis.org" <rostedt@...dmis.org>,
        "mbenes@...e.cz" <mbenes@...e.cz>,
        "npiggin@...il.com" <npiggin@...il.com>,
        "chenzhongjin@...wei.com" <chenzhongjin@...wei.com>,
        "naveen.n.rao@...ux.vnet.ibm.com" <naveen.n.rao@...ux.vnet.ibm.com>
Subject: Re: [PATCH v3 02/16] powerpc: Override __ALIGN and __ALIGN_STR macros



Le 13/09/2022 à 14:03, Peter Zijlstra a écrit :
> On Mon, Sep 12, 2022 at 01:50:06PM +0530, Sathvika Vasireddy wrote:
>> In a subsequent patch, we would want to annotate powerpc assembly functions
>> with SYM_FUNC_START_LOCAL macro. This macro depends on __ALIGN macro.
>>
>> The default expansion of __ALIGN macro is:
>>          #define __ALIGN      .align 4,0x90
>>
>> So, override __ALIGN and __ALIGN_STR macros to use the same alignment as
>> that of the existing _GLOBAL macro. Also, do not pad with 0x90, because
>> repeated 0x90s are not a nop or trap on powerpc.
>>
>> Signed-off-by: Sathvika Vasireddy <sv@...ux.ibm.com>
>> ---
>>   arch/powerpc/include/asm/linkage.h | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/powerpc/include/asm/linkage.h b/arch/powerpc/include/asm/linkage.h
>> index b71b9582e754..b88d1d2cf304 100644
>> --- a/arch/powerpc/include/asm/linkage.h
>> +++ b/arch/powerpc/include/asm/linkage.h
>> @@ -4,6 +4,9 @@
>>   
>>   #include <asm/types.h>
>>   
>> +#define __ALIGN		.align 2
>> +#define __ALIGN_STR	".align 2"
> 
> Like mentioned last time; I'm fixing this (but you're right to not wait
> on that), that said, would it make sense to write it like:
> 
> #define __ALIGN		.balign 4
> #define __ALIGN_STR	__stringify(__ALIGN)

By the way, I commented to Sathvika to not use __stringify() in order to 
avoid having to include stringify.h as we are trying to minimise 
dependencies between headers.

Several other architectures also do it that way.

That being said, it could then be

#define __ALIGN		.balign 4
#define __ALIGN_STR	".balign 4"

> 
> That said; with power instructions being 4 bytes, the above alignment is
> basically no-alignment, right?
> 

Yes indeed.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ