• Bodo Stroesser's avatar
    [PATCH] uml: more carefully test whether we are in a system call · 81efcd33
    Bodo Stroesser authored
    For security reasons, UML in is_syscall() needs to have access to code in
    vsyscall-page.  The current implementation grants this access by explicitly
    allowing access to vsyscall in access_ok_skas().  With this change,
    copy_from_user() may be used to read the code.  Ptrace access to vsyscall-page
    for debugging already was implemented in get_user_pages() by mainline.  In
    i386, copy_from_user can't access vsyscall-page, but returns EFAULT.
    
    To make UML behave as i386 does, I changed is_syscall to use
    access_process_vm(current) to read the code from vsyscall-page.  This doesn't
    hurt security, but simplifies the code and prepares implementation of
    stub-vmas.
    Signed-off-by: default avatarBodo Stroesser <bstroesser@fujitsu-siemens.com>
    Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
    Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    81efcd33
ptrace.c 4.54 KB