• Andrew Morton's avatar
    [PATCH] check_user_page_readable() deadlock fix · 1aaf18ff
    Andrew Morton authored
    Fix bug identifued by Richard Purdie <rpurdie@rpsys.net>.
    
    oprofile calls check_user_page_readable() from interrupt context, so we
    deadlock over various VFS locks.
    
    But check_user_page_readable() doesn't imply either a read or a write of the
    page's contents.  Change __follow_page() so that check_user_page_readable()
    can tell __follow_page() that we're not accessing the page's contents, and use
    that info to avoid the troublesome lock-takings.
    
    Also, make follow_page() inline for the single callsite in memory.c to save a
    bit of stack space.
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    1aaf18ff
memory.c 58.9 KB