From: Al Viro <viro@ftp.linux.org.uk>
To: torvalds@osdl.org
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: [PATCHSET] thread_info annotations and fixes
Date: Tue, 03 Jan 2006 21:07:38 +0000 [thread overview]
Message-ID: <E1EttNa-0008PA-2x@ZenIV.linux.org.uk> (raw)
Message-ID: <20060103210515.5135@ftp.linux.org.uk>
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...
Patchset contents:
missing helper - task_stack_page()
alpha: task_thread_info()
alpha: task_stack_page()
alpha: task_pt_regs()
amd64: task_thread_info()
amd64: task_pt_regs()
amd64: task_stack_page()
i386: task_thread_info()
i386: fix task_pt_regs()
i386: task_stack_page()
sparc64: task_thread_info()
sparc64: task_stack_page()
sparc64: task_pt_regs()
sh: task_pt_regs()
sh: task_thread_info()
sh: task_stack_page()
sparc: task_thread_info()
sparc: task_stack_page()
uml: task_thread_info()
uml: task_stack_page()
s390: task_pt_regs()
s390: task_stack_page()
xtensa: task_pt_regs(), task_stack_page()
v850: task_stack_page(), task_pt_regs()
m32r: task_pt_regs(), task_stack_page(), task_thread_info()
frv: task_thread_info(), task_stack_page()
m68k: task_stack_page()
m68knommu: task_stack_page()
parisc: task_stack_page(), task_thread_info()
h8300: task_stack_page()
arm: task_thread_info()
arm: task_pt_regs()
arm: end_of_stack()
arm: task_stack_page()
arm26: task_thread_info()
arm26: task_pt_regs()
arm26: task_stack_page()
sh64: task_stack_page()
powerpc: task_thread_info()
powerpc: task_stack_page()
cris: task_pt_regs()
cris: fix KSTK_EIP
cris: task_thread_info()
ia64: task_thread_info()
ia64: task_pt_regs()
mips: namespace pollution: dump_regs() -> elf_dump_regs()
mips: task_pt_regs()
mips: task_thread_info()
mips: task_stack_page()
death of get_thread_info/put_thread_info
The only ordering requirements are that the first patch (introducing a
trivial #define for task_stack_page()) goes before the rest and that
patches for given architecture go in order.
next reply other threads:[~2006-01-03 21:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-03 21:07 Al Viro [this message]
2006-01-03 21:15 ` [PATCHSET] thread_info annotations and fixes Al Viro
2006-01-03 22:41 ` James Bottomley
2006-01-03 22:53 ` Al Viro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1EttNa-0008PA-2x@ZenIV.linux.org.uk \
--to=viro@ftp.linux.org.uk \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.