Al Viro 9fc658763b [PATCH] missing helper - task_stack_page()
Patchset annotates arch/* uses of ->thread_info.  Ones that really are about
access of thread_info of given process are simply switched to
task_thread_info(task); ones that deal with access to objects on stack are
switched to new helper - task_stack_page().  A _lot_ of the latter are
actually open-coded instances of "find where pt_regs are"; those are
consolidated into task_pt_regs(task) (many architectures actually have such
helper already).

Note that these annotations are not mandatory - any code not converted to
these helpers still works.  However, they clean up a lot of places and have
actually caught a number of bugs, so converting out of tree ports would be a
good idea...

As an example of breakage caught by that stuff, see i386 pt_regs mess - we
used to have it open-coded in a bunch of places and when back in April Stas
had fixed a bug in copy_thread(), the rest had been left out of sync.  That
required two followup patches (the latest - just before 2.6.15) _and_ still
had left /proc/*/stat eip field broken.  Try ps -eo eip on i386 and watch the
junk...

This patch:

new helper - task_stack_page(task).  Returns pointer to the memory object
containing task stack; usually thread_info of task sits in the beginning
of that object.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-12 09:08:50 -08:00
..
2006-01-08 20:14:02 -08:00
2006-01-06 14:58:39 -05:00
2005-11-13 18:14:17 -08:00
2005-10-28 08:16:49 -07:00
2006-01-03 13:11:06 -08:00
2006-01-08 20:14:02 -08:00
2006-01-08 20:14:02 -08:00
2006-01-08 20:14:02 -08:00
2006-01-08 20:13:58 -08:00
2006-01-10 00:09:36 +01:00
2006-01-08 20:13:49 -08:00
2005-11-05 21:00:02 -05:00
2005-11-13 18:14:10 -08:00
2006-01-10 08:01:34 -08:00
2005-10-30 17:37:32 -08:00
2005-11-10 02:26:41 +01:00
2006-01-06 08:33:54 -08:00
2005-11-08 17:14:08 +01:00
2005-11-08 09:40:47 -08:00
2006-01-06 13:24:54 -08:00
2006-01-06 13:24:29 -08:00
2006-01-06 08:33:53 -08:00
2006-01-06 08:33:59 -08:00
2005-11-07 14:18:56 +01:00
2006-01-10 08:01:59 -08:00
2006-01-10 08:01:25 -08:00
2005-10-30 17:37:32 -08:00
2005-10-30 17:37:17 -08:00
2006-01-10 08:01:37 -08:00
2005-10-28 08:16:47 -07:00
2006-01-11 18:42:13 -08:00
2006-01-08 20:13:46 -08:00
2006-01-06 08:33:20 -08:00
2006-01-03 13:11:15 -08:00
2006-01-06 08:33:29 -08:00
2005-11-13 18:14:12 -08:00
2005-11-07 07:53:39 -08:00
2005-11-06 12:32:31 -06:00
2005-11-07 07:53:46 -08:00
2006-01-06 08:33:27 -08:00
2005-10-30 11:14:39 +11:00
2006-01-10 08:01:42 -08:00
2006-01-08 20:14:02 -08:00
2005-11-07 07:53:41 -08:00
2005-10-30 17:37:32 -08:00
2005-11-07 07:53:37 -08:00
2006-01-08 20:13:45 -08:00
2005-10-30 17:37:32 -08:00
2006-01-10 08:01:39 -08:00
2005-10-30 17:37:18 -08:00
2006-01-10 08:01:59 -08:00
2006-01-10 08:01:59 -08:00
2006-01-10 08:01:59 -08:00
2005-10-28 08:16:46 -07:00
2005-10-28 08:16:49 -07:00
2006-01-09 15:32:31 -02:00
2005-10-29 21:40:35 -07:00
2005-11-07 07:53:41 -08:00
2006-01-08 20:12:40 -08:00
2006-01-10 08:01:57 -08:00