Re: semantics of KSTK_ESP and friends

From: James Hogan
Date: Tue Feb 24 2015 - 07:02:13 EST


Hi Vineet,

On 12/02/15 07:10, Vineet Gupta wrote:
> Hi,
>
> Is KSTK_ESP supposed to return the kernel mode SP of a sleeping task or is it supposed to provide the user mode SP at the time of last kernel entry ?
>
> The 2 non arch users of the API expect the user mode SP semantics:
> * vm_is_stack_for_task() - to annotate /proc/<pid>/maps stack vma - which is shere Alexey noted this.
> * do_task_stat()

Judging by both these uses, it would be the task's user mode SP that is
desired. Same for KSTK_EIP by the looks of it. Well spotted!

I'll look into fixing Metag.

Cheers
James

>
> ARC port uses these for unwinding the task of a sleeping task (hence kernel mode SP semantics).
> metag (from the looks of it) also seem to provide kernel mode value, while most others seem to provide the user mode variant.
>
> I can fix ARC to work with expectation of generic code, but wanted to understand anyways.
>
> Thx,
> -Vineet
>

Attachment: signature.asc
Description: OpenPGP digital signature