[Question] How get instruction pointer of user space ???

liyu_at_WAN
Date: 08/31/05

  • Next message: Pekka Enberg: "Re: [PATCH][FAT] FAT dirent scan with hin take #3"
    Date:	Wed, 31 Aug 2005 17:59:36 +0800
    To: LKML <linux-kernel@vger.kernel.org>
    
    

    Hi everyone:

        I am implemnting one ioctl() in one character device.

        That need know instruction pointer of user space. I am on i386
    platform.
    I can sure I am in process context. and enter kernel by system call way.

        As I known, in default case, each task have one kernel stack, its length
    is THREAD_SIZE(2 pages), and current_thread_info() is at its top. the
    struct pt_regs is at bottom of this stack.

        so I write the code like here:

        pt_regs = ((struct pt_regs *)(THREAD_SIZE + current_thread_info()))+1;
        return pt_regs->eip;

        but it do not work! even, I get segment fault and kernel Oops at
    sometime.
       
        Also, I am sure current_thread_info() return right value of current
    user task.

        Any idea on here?

        thanks

                                                                       sailor.

       

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Pekka Enberg: "Re: [PATCH][FAT] FAT dirent scan with hin take #3"

    Relevant Pages