On Tuesday 28 March 2006 13:48, Douglas Gilbert wrote: > Further to this thread started by Bryan Holty: > http://marc.theaimsgroup.com/?l=linux-scsi&m=114306885116728&w=2 > > Here is the reworked patch again. This time it has been > tested with a program provided by Bryan. The patch is > against lk 2.6.16 . > > Changelog: > - when the sg driver is unable to setup direct IO, > free that scatter gather list prior to falling > back to indirect IO > > Signed-off-by: Douglas Gilbert <dougg@xxxxxxxxxx> > > Doug Gilbert Thanks Doug, this fixes the fixes the sg memory leak and the eventual kernel out of memory killer. Signed-off-by: Douglas Gilbert <dougg@xxxxxxxxxx> Signed-off-by: Bryan Holty <lgeek@xxxxxxxxxxxxxxx> --- linux/drivers/scsi/sg.c 2006-03-20 10:08:49.000000000 -0500 +++ linux/drivers/scsi/sg.c2616dio_lk 2006-03-22 18:26:23.000000000 -0500 @@ -1834,8 +1834,10 @@ res = st_map_user_pages(schp->buffer, mx_sc_elems, (unsigned long)hp->dxferp, dxfer_len, (SG_DXFER_TO_DEV == hp->dxfer_direction) ? 1 : 0); - if (res <= 0) + if (res <= 0) { + sg_remove_scat(schp); return 1; + } schp->k_use_sg = res; schp->dio_in_use = 1; hp->info |= SG_INFO_DIRECT_IO; -- Bryan Holty - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html