On Thu, Jan 27, 2005 at 03:35:35PM -0800, Andrew Morton wrote: > On x86 we could perhaps test for non-nullness of tsk->thread->io_bitmap_ptr?
yes for ioports. But I'm afraid I was too optimistic about eflags for iopl, that's not in the per-task tss, it's only stored at the very top of the kernel stack and inherit during fork/clone. So we probably need to check esp0 and read the top of the stack to see if a task has eflags set. esp0 is definitely stored in the thread struct when the task is rescheduled, and it cannot change for each given task, so we can access it even while the task is runnable and it shouldn't be corrupted by iret. But the problem is sysenter is optimized not to save eflags on the kernel stack, so the top of the stack - 12bytes would not contain eflags if sysenter is in use. So basically we'd need to change iopl to propagate the info to the task struct synchronously somehow, because we can't read it reliably from the kernel stack. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/