]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] st: fix a bug in sgl_map_user_pages failure path
authorHugh Dickins <hugh@veritas.com>
Thu, 1 Dec 2005 20:21:57 +0000 (20:21 +0000)
committerJames Bottomley <jejb@titanic.(none)>
Thu, 1 Dec 2005 22:16:06 +0000 (16:16 -0600)
commit0141b4ffcc9ec07af79cc51ca6af179e233ba242
tree2822abc9574f1fc0d8eddb80adbe34d5460926ff
parentb5e9a8f68f9f9b20b43a1a4ce87329a40268d1a5
[SCSI] st: fix a bug in sgl_map_user_pages failure path

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: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/st.c