Re: [PATCH v4 25/29] um: Stop conflating task_struct::stack with thread_info
From: Andy Lutomirski
Date: Sun Jun 26 2016 - 19:49:33 EST
On Sun, Jun 26, 2016 at 4:40 PM, Brian Gerst <brgerst@xxxxxxxxx> wrote:
> On Sun, Jun 26, 2016 at 5:55 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>> From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>>
>> thread_info may move in the future, so use the accessors.
>>
>> [changelog written by Andy]
>> Message-Id: <CA+55aFxvZhBu9U1cqpVm4frv0p5mqu=0TxsSqE-=95ft8HvCVA@xxxxxxxxxxxxxx>
>> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
>> ---
>> arch/x86/um/ptrace_32.c | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/x86/um/ptrace_32.c b/arch/x86/um/ptrace_32.c
>> index ebd4dd6ef73b..14e8f6a628c2 100644
>> --- a/arch/x86/um/ptrace_32.c
>> +++ b/arch/x86/um/ptrace_32.c
>> @@ -191,7 +191,7 @@ int peek_user(struct task_struct *child, long addr, long data)
>>
>> static int get_fpregs(struct user_i387_struct __user *buf, struct task_struct *child)
>> {
>> - int err, n, cpu = ((struct thread_info *) child->stack)->cpu;
>> + int err, n, cpu = task_thread_info(child)->cpu;
>
> Shouldn't this use task_cpu() like in patch 23?
>
Indeed. But blame Linus -- he wrote it :)
If I send a v5, I'll fix this in this patch. Otherwise I'll send a
followup patch when this lands. It doesn't matter immediately because
I'm not opting um into THREAD_INFO_IN_TASK.
--Andy