Christophe Leroy <christophe.le...@csgroup.eu> writes:

> Le 25/11/2020 à 06:16, Aneesh Kumar K.V a écrit :
....

> +++ b/arch/powerpc/kernel/process.c
>> @@ -1530,10 +1530,32 @@ void flush_thread(void)
>>   #ifdef CONFIG_PPC_BOOK3S_64
>>   void arch_setup_new_exec(void)
>>   {
>> -    if (radix_enabled())
>> -            return;
>> -    hash__setup_new_exec();
>> +    if (!radix_enabled())
>> +            hash__setup_new_exec();
>> +
>> +    /*
>> +     * If we exec out of a kernel thread then thread.regs will not be
>> +     * set.  Do it now.
>> +     */
>> +    if (!current->thread.regs) {
>> +            struct pt_regs *regs = task_stack_page(current) + THREAD_SIZE;
>> +            current->thread.regs = regs - 1;
>> +    }
>> +
>> +}
>> +#else
>> +void arch_setup_new_exec(void)
>> +{
>> +    /*
>> +     * If we exec out of a kernel thread then thread.regs will not be
>> +     * set.  Do it now.
>> +     */
>> +    if (!current->thread.regs) {
>> +            struct pt_regs *regs = task_stack_page(current) + THREAD_SIZE;
>> +            current->thread.regs = regs - 1;
>> +    }
>>   }
>> +
>>   #endif
>
> No need to duplicate arch_setup_new_exec() I think. radix_enabled() is 
> defined at all time so the 
> first function should be valid at all time.
>

arch/powerpc/kernel/process.c: In function ‘arch_setup_new_exec’:
arch/powerpc/kernel/process.c:1529:3: error: implicit declaration of function 
‘hash__setup_new_exec’; did you mean ‘arch_setup_new_exec’? 
[-Werror=implicit-function-declaration]
 1529 |   hash__setup_new_exec();
      |   ^~~~~~~~~~~~~~~~~~~~
      |   arch_setup_new_exec


That requires us to have hash__setup_new_exec prototype for all platforms.

-aneesh

Reply via email to