lkml.org 
[lkml]   [2005]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Fw: crash on x86_64 - mm related?
On Thu, 1 Dec 2005, Hugh Dickins wrote:

...
> 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 :-(
>
> Hugh
>
> --- 2.6.14/drivers/scsi/st.c 2005-10-28 01:02:08.000000000 +0100
> +++ linux/drivers/scsi/st.c 2005-12-01 20:06:02.000000000 +0000
> @@ -4511,6 +4511,7 @@ static int sgl_map_user_pages(struct sca
> if (res > 0) {
> for (j=0; j < res; j++)
> page_cache_release(pages[j]);
> + res = 0;
> }
> kfree(pages);
> return res;
>
Whether this fix solves the current problem or not, it clearly fixes a
bug. If someone wants to include this into a patch series, you can add
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
If not, I will include this when I send patches next time.

Thanks for noticing this problem.

Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-12-01 22:46    [W:0.142 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site