[PATCH v13 00/10] powerpc: Switch to CONFIG_THREAD_INFO_IN_TASK

Christophe Leroy christophe.leroy at c-s.fr
Fri Jan 25 02:08:54 AEDT 2019



Le 24/01/2019 à 01:59, Michael Ellerman a écrit :
> Christophe Leroy <christophe.leroy at c-s.fr> writes:
>> Le 19/01/2019 à 11:23, Michael Ellerman a écrit :
>>> Christophe Leroy <christophe.leroy at c-s.fr> writes:
>>>
>>>> The purpose of this serie is to activate CONFIG_THREAD_INFO_IN_TASK which
>>>> moves the thread_info into task_struct.
>>>>
>>>> Moving thread_info into task_struct has the following advantages:
>>>> - It protects thread_info from corruption in the case of stack
>>>> overflows.
>>>> - Its address is harder to determine if stack addresses are
>>>> leaked, making a number of attacks more difficult.
>>>>
>>>> Changes since v12:
>>>>    - Patch 1: Taken comment from Mike (re-introduced the 'panic' in case memblock allocation fails in setup_64.c
>>>>    - Patch 1: Added alloc_stack() function in setup_32.c to also panic in case of allocation failure.
>>>
>>> Hi Christophe,
>>>
>>> I can't get this series to boot on qemu mac99. I'm getting eg:
>>>
>>> [    0.981514] NFS: Registering the id_resolver key type
>>> [    0.981752] Key type id_resolver registered
>>> [    0.981868] Key type id_legacy registered
>>> [    0.995711] Unrecoverable exception 0 at 0 (msr=0)
>>> [    0.996091] Oops: Unrecoverable exception, sig: 6 [#1]
>>> [    0.996314] BE PAGE_SIZE=4K MMU=Hash PowerMac
>>> [    0.996617] Modules linked in:
>>> [    0.996869] CPU: 0 PID: 416 Comm: modprobe Not tainted 5.0.0-rc2-gcc-7.3.0-00043-g53f2de798792 #342
>>> [    0.997138] NIP:  00000000 LR: 00000000 CTR: 00000000
>>> [    0.997309] REGS: ef237f50 TRAP: 0000   Not tainted  (5.0.0-rc2-gcc-7.3.0-00043-g53f2de798792)
>>> [    0.997508] MSR:  00000000 <>  CR: 00000000  XER: 00000000
>>> [    0.997712]
>>> [    0.997712] GPR00: 00000000 ef238000 00000000 00000000 00000000 00000000 00000000 00000000
>>> [    0.997712] GPR08: 00000000 00000000 00000000 00000000 00000000 00000000 c006477c ef13d8c0
>>> [    0.997712] GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>>> [    0.997712] GPR24: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>>> [    0.998671] NIP [00000000]   (null)
>>> [    0.998774] LR [00000000]   (null)
>>> [    0.998895] Call Trace:
>>> [    0.999030] Instruction dump:
>>> [    0.999320] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
>>> [    0.999546] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 60000000 XXXXXXXX XXXXXXXX XXXXXXXX
>>> [    1.000023] ---[ end trace 925ea3419844fe68 ]---
>>
>> No such issue on my side. Do you have a ramdisk with anythink special or
>> a special config ? I see your kernel is modprobing something, know what
>> it is ?
> 
> It's just a debian installer image, nothing special AFAIK.
> 
>> Especially, what is the amount of memory in your config ? On my side
>> there is 128M:
> 
> I have 1G.
> 
> But today I can't reproduce the crash :/
> 
> So I guess it must have been something else in my config.

Or it could be because I didn't protect stack walks ? See

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9bbd4c56b0b642f04396da378296e68096d5afca

Anyway, I'll soon send out v14 including a patch for that.

Christophe


More information about the Linuxppc-dev mailing list