lkml.org 
[lkml]   [2014]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCHES] iov_iter.c rewrite
    On Mon, Dec 08, 2014 at 10:07:55AM -0800, Linus Torvalds wrote:

    > Which is in the vmalloc address space. So somebody used a vmalloc'ed
    > address and tried to convert it to a physical address in order to look
    > up the page.
    >
    > Which is not a valid operation, and the BUG_ON() is definitely proper.
    >
    > Now *why* something tried to do a virt_to_page() on a vmalloc'ed
    > address, that I leave to others.

    iov_iter_get_pages() in ITER_KVEC case, trying to avoid get_user_pages_fast()
    and getting it wrong. FWIW, the reproducer is finit_module(fd, ....)
    where fd has been opened with O_DIRECT. In that case we get kernel_read()
    on O_DIRECT and the buffer has just been vmalloc'ed.

    What's the sane way to grab struct page * for a vmalloc'ed address?


    \
     
     \ /
      Last update: 2014-12-08 19:41    [W:4.100 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site