From a055622bdbf3ce3a98809762e8d6cc7c7673b166 Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Fri, 25 Nov 2011 14:32:56 +0200 Subject: [PATCH] gfx: display: Avoid NULL pointer deference Framebuffer memory might be created without syncobject. Page fliping assumed that all framebuffers have syncobject which oopses because of NULL pointer deference. That kind of memory can't be protected from tearing using syncobject in kernel. Signed-off-by: Pauli Nieminen Signed-off-by: Kirill A. Shutemov --- drivers/staging/mrst/drv/psb_page_flip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/mrst/drv/psb_page_flip.c b/drivers/staging/mrst/drv/psb_page_flip.c index b66a3f1..d02d34d 100644 --- a/drivers/staging/mrst/drv/psb_page_flip.c +++ b/drivers/staging/mrst/drv/psb_page_flip.c @@ -106,7 +106,7 @@ write_scanout_regs(struct pending_flip *pending_flip, uint32_t offset) static void increase_read_ops_pending(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo) { - if (psKernelMemInfo) + if (psKernelMemInfo && psKernelMemInfo->psKernelSyncInfo) psKernelMemInfo->psKernelSyncInfo ->psSyncData->ui32ReadOpsPending++; } @@ -114,7 +114,7 @@ increase_read_ops_pending(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo) static void increase_read_ops_completed(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo) { - if (psKernelMemInfo) + if (psKernelMemInfo && psKernelMemInfo->psKernelSyncInfo) psKernelMemInfo->psKernelSyncInfo ->psSyncData->ui32ReadOpsComplete++; } -- 2.7.4