On Wed, Jan 07, 2009 at 12:55:49PM -0800, Linus Torvalds wrote: > void loop_while_oncpu(struct mutex *lock, struct thread_struct *thread) > { > for (;;) { > unsigned cpu; > struct runqueue *rq; > > if (lock->owner != thread) > break; > > /* > * Need to access the cpu field knowing that > * DEBUG_PAGEALLOC could have unmapped it if > * the mutex owner just released it and exited. > */ > if (__get_user(cpu, &thread->cpu)) > break; I appreciate this is sample code, but using __get_user() on non-userspace pointers messes up architectures which have separate user/kernel spaces (eg the old 4G/4G split for x86-32). Do we have an appropriate function for kernel space pointers? Is this a good reason to add one? -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html