• Hugh Dickins's avatar
    [SCSI] st: fix a bug in sgl_map_user_pages failure path · 6bc733e9
    Hugh Dickins authored
    Nick and I had already been looking at drivers/scsi/{sg.c,st.c},
    brought there by __put_page in sg.c's peculiar sg_rb_correct4mmap,
    which we'd like to remove.  But that's irrelevant to your pain, except...
    
    One extract from the patches I'd like to send Doug and Kai for 2.6.15
    or 2.6.16 is this below: since the incomplete get_user_pages path omits
    to reset res, but has already released all the pages, it will result in
    premature freeing of user pages, and behaviour just like you've seen.
    
    Though I'd have thought incomplete get_user_pages was an exceptional
    case, and a bit surprised you'd encounter it.  Perhaps there's some
    other premature freeing in the driver, and this instance has nothing
    whatever to do with it.
    
    If the problem were easily reproducible, it'd be great if you could
    try this patch; but I think you've said it's not :-(
    Signed-off-by: default avatarKai Makisara <kai.makisara@kolumbus.fi>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    6bc733e9
st.c 124 KB