drm/i915/gvt: fix double free bug in split_2MB_gtt_entry
commit 4a61648a upstream. If intel_gvt_dma_map_guest_page failed, it will call ppgtt_invalidate_spt, which will finally free the spt. But the caller function ppgtt_populate_spt_by_guest_entry does not notice that, it will free spt again in its error path. Fix this by canceling the mapping of DMA address and freeing sub_spt. Besides, leave the handle of spt destroy to caller function instead of callee function when error occurs. Fixes: b901b252 ("drm/i915/gvt: Add 2M huge gtt support") Signed-off-by:Zheng Wang <zyytlz.wz@163.com> Reviewed-by:
Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by:
Zhenyu Wang <zhenyuw@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20221229165641.1192455-1-zyytlz.wz@163.com Signed-off-by:
Ovidiu Panait <ovidiu.panait@eng.windriver.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
d835f9c4
Please register or sign in to comment