Module Name: src
Committed By: riastradh
Date: Sun Jul 30 13:43:49 UTC 2017
Modified Files:
src/sys/external/bsd/drm2/dist/drm/ttm: ttm_tt.c
Log Message:
Fix error branch in ttm_dma_tt_init to avoid double-free.
Should fix symptom of PR kern/52438, but who knows what underlying
problem causes us to reach the error branch in the first place.
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c
diff -u src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c:1.9 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c:1.9 Thu Mar 9 08:27:18 2017
+++ src/sys/external/bsd/drm2/dist/drm/ttm/ttm_tt.c Sun Jul 30 13:43:48 2017
@@ -284,7 +284,8 @@ fail2: __unused
fail1: kmem_free(ttm_dma->dma_segs, (ttm->num_pages *
sizeof(ttm_dma->dma_segs[0])));
fail0: KASSERT(error);
- ttm_tt_destroy(ttm);
+ drm_free_large(ttm->pages);
+ uao_detach(ttm->swap_storage);
/* XXX errno NetBSD->Linux */
return -error;
}