• Benjamin LaHaise's avatar
    aio/migratepages: make aio migrate pages sane · 2b9a7041
    Benjamin LaHaise authored
    commit 8e321fef upstream.
    
    The arbitrary restriction on page counts offered by the core
    migrate_page_move_mapping() code results in rather suspicious looking
    fiddling with page reference counts in the aio_migratepage() operation.
    To fix this, make migrate_page_move_mapping() take an extra_count parameter
    that allows aio to tell the code about its own reference count on the page
    being migrated.
    
    While cleaning up aio_migratepage(), make it validate that the old page
    being passed in is actually what aio_migratepage() expects to prevent
    misbehaviour in the case of races.
    Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2b9a7041
aio.c 37.8 KB