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] [day] [month] [year] [list]
Message-ID: <10172eb4-2fa3-faba-1700-6f9daff74d86@loongson.cn>
Date:   Sat, 21 Nov 2020 09:25:04 +0800
From:   Youling Tang <tangyouling@...ngson.cn>
To:     Michal Simek <monstr@...str.eu>
Cc:     Stefan Asserhall <stefan.asserhall@...inx.com>,
        Arnd Bergmann <arnd@...db.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] microblaze: Use the common INIT_DATA_SECTION macro in
 vmlinux.lds.S

Hi, Michal

On 11/20/2020 09:31 PM, Michal Simek wrote:
> Hi,
>
> On 19. 11. 20 2:40, Youling Tang wrote:
>> Use the common INIT_DATA_SECTION rule for the linker script in an effort
>> to regularize the linker script.
>>
>> Signed-off-by: Youling Tang <tangyouling@...ngson.cn>
>> ---
>>   arch/microblaze/kernel/vmlinux.lds.S | 24 +-----------------------
>>   1 file changed, 1 insertion(+), 23 deletions(-)
>>
>> diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
>> index df07b3d..527ebfc 100644
>> --- a/arch/microblaze/kernel/vmlinux.lds.S
>> +++ b/arch/microblaze/kernel/vmlinux.lds.S
>> @@ -96,10 +96,7 @@ SECTIONS {
>>   	__init_begin = .;
>>   
>>   	INIT_TEXT_SECTION(PAGE_SIZE)
>> -
>> -	.init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
>> -		INIT_DATA
>> -	}
>> +	INIT_DATA_SECTION(0)
>>   
>>   	. = ALIGN(4);
>>   	.init.ivt : AT(ADDR(.init.ivt) - LOAD_OFFSET) {
>> @@ -107,25 +104,6 @@ SECTIONS {
>>   		*(.init.ivt)
>>   		__ivt_end = .;
>>   	}
>> -
>> -	.init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
>> -		INIT_SETUP(0)
>> -	}
>> -
>> -	.initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET ) {
>> -		INIT_CALLS
>> -	}
>> -
>> -	.con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
>> -		CON_INITCALL
>> -	}
>> -
>> -	__init_end_before_initramfs = .;
>> -
>> -	.init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
>> -		INIT_RAM_FS
>> -	}
>> -
>>   	__init_end = .;
>>   
>>   	.bss ALIGN (PAGE_SIZE) : AT(ADDR(.bss) - LOAD_OFFSET) {
>>
> Thanks for the patch but I can't accept it because recently we found
> that there needs to be some resorting in linker to be able to boot.
> The issue is that INIT_RAMFS_FS section is text/data/init and bss.
> But because microblaze in early code is using two TLBs (16M) each for
> early mapping and you have big initramfs bss section is unreachable.
> That's why these sections needs to be swapped.
> Maybe bss section can be moved up before INIT_DATA_SECTION maybe even
> before INIT_TEXT_SECTION and we should be fine.
Thank you for your reply. Do you mean it should be changed as follows:
...
.bss ALIGN (PAGE_SIZE) : AT(ADDR(.bss) - LOAD_OFFSET) {
                 /* page aligned when MMU used */
                 __bss_start = . ;
                         *(.bss*)
                         *(COMMON)
                 . = ALIGN (4) ;
                 __bss_stop = . ;
         }
INIT_TEXT_SECTION(PAGE_SIZE)
INIT_DATA_SECTION(0)
...

Thanks,
Youling
> Thanks,
> Michal
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ