> user_stack_pointer() is apparently a requirement, too. Ah, yes! I'd forgotten about user_stack_pointer() and instruction_pointer(). Those never got properly documented either. > Although given that you already have a task_struct pointer the only place > you currently use it (lib/syscall.c), it makes more sense to use > KSTK_ESP/KSTK_EIP which is provided by almost everyone already. Almost? It must be everyone, right? It's used unconditionally in fs/proc/array.c (the only use). I hadn't noticed these before. They aren't commented anywhere. I've got to say, too, these are truly dismal names! Also, I've just noticed that x86-64's user_stack_pointer() is wrong for the case when a fast-path 64-bit syscall is in progress. To get it right, it needs a bit from the struct thread_info, so a call that takes task_struct instead of (or in addition to) pt_regs is certainly right. These are defined in asm/processor.h, as macros. It would be better if they could be inlines, but they really can't because asm/processor.h is before struct task_struct is defined, etc. I wonder if we could move these to another header where they can be clean inlines. I'd sure like to change those names while we're at it. Thoughts? Thanks, Roland -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html