[PATCH] Documentation: x86: fix thread_info's position

From: Yang Mingzhe
Date: Tue Nov 10 2020 - 09:21:39 EST


The bottom of the stack is where the first item was added to the stack,
usually at the zero offset. Actually, the thread_info structure at the
end of the stack.

Please see attached picture:
https://github.com/Mutated1994/kernel-beginner/blob/master/kernel-stack.md

See commits c65eacb ("sched/core: Allow putting thread_info into
task_struct"), 15f4eae ("x86: Move thread_info into task_struct")
and 883d50f ("scripts/gdb: fix get_thread_info").

Signed-off-by: Yang Mingzhe <cainiao666999@xxxxxxxxx>
---
Documentation/x86/kernel-stacks.rst | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/x86/kernel-stacks.rst b/Documentation/x86/kernel-stacks.rst
index 6b0bcf0..b88b9e12 100644
--- a/Documentation/x86/kernel-stacks.rst
+++ b/Documentation/x86/kernel-stacks.rst
@@ -15,7 +15,9 @@ Like all other architectures, x86_64 has a kernel stack for every
active thread. These thread stacks are THREAD_SIZE (2*PAGE_SIZE) big.
These stacks contain useful data as long as a thread is alive or a
zombie. While the thread is in user space the kernel stack is empty
-except for the thread_info structure at the bottom.
+except for the thread_info structure at the end (since kernel 4.9, the
+thread_info has been moved into task_struct, no longer locates at the
+end of kernel stack).

In addition to the per thread stacks, there are specialized stacks
associated with each CPU. These stacks are only used while the kernel
--
1.8.3.1