Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751859AbbGIJMj (ORCPT ); Thu, 9 Jul 2015 05:12:39 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:43290 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750835AbbGIJM1 (ORCPT ); Thu, 9 Jul 2015 05:12:27 -0400 X-AuditID: cbfee691-f79ca6d00000456a-5b-559e3afa21f2 From: Maninder Singh To: oded.gabbay@gmail.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: pankaj.m@samsung.com, Maninder Singh Subject: [PATCH v2] drm/amdkfd: validate pdd where it acquired first Date: Thu, 09 Jul 2015 14:41:53 +0530 Message-id: <1436433113-36487-1-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrDLMWRmVeSWpSXmKPExsWyRsSkWveX1bxQg4WfuC16z51ksrjy9T2b xeVdc9gsDs9vY7G48OI2q8W9N1uZHNg8ds66y+6x/dsDVo/73ceZPPq2rGL0+LxJLoA1issm JTUnsyy1SN8ugStj9c0JzAXfOSuO3TzL3MA4h6OLkZNDQsBEYnfvIxYIW0ziwr31bF2MXBxC AksZJQ7efcgMU3Rm0lx2iMR0Romfxx4xQjg/GSU+TJjLBlLFJqAnsWrXHrBRIgI5EusePwGy OTiYBZwkpn/VAwkLC7hI3L61kgnEZhFQleh8tBaslVfAXWLlhT/sIOUSAgoScybZQOz9zSZx 5kYARLmAxLfJh1ggSmQlNh2AOk1S4uCKGywTGAUXMDKsYhRNLUguKE5KLzLVK07MLS7NS9dL zs/dxAgM1NP/nk3cwXj/gPUhRgEORiUe3oadc0OFWBPLiitzDzGaAm2YyCwlmpwPjIe8knhD YzMjC1MTU2Mjc0szJXFeHemfwUIC6YklqdmpqQWpRfFFpTmpxYcYmTg4pRoYJ9/emvqNb3eQ 0/vpphMcEjVi159aev/qV9tdE+JEnQqmnnFQu+H2gfHmnb39nBPTFwnZdYf/inY/8mWXGPN6 tkoOheOiO1xtFh+dcnvymrkeB75Wf7M+b+XVl9g/8ZdGTQ/rlmfqTL+SnCcbJfivMOvN4CnY Udga0hBT+XdZ5JfudWdzXx35ocRSnJFoqMVcVJwIAAXCyGdPAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeLIzCtJLcpLzFFi42I5/e+xoO4vq3mhBic3s1j0njvJZHHl63s2 i8u75rBZHJ7fxmJx4cVtVot7b7YyObB57Jx1l91j+7cHrB73u48zefRtWcXo8XmTXABrVAOj TUZqYkpqkUJqXnJ+SmZeuq2Sd3C8c7ypmYGhrqGlhbmSQl5ibqqtkotPgK5bZg7QCUoKZYk5 pUChgMTiYiV9O0wTQkPcdC1gGiN0fUOC4HqMDNBAwhrGjNU3JzAXfOesOHbzLHMD4xyOLkZO DgkBE4kzk+ayQ9hiEhfurWfrYuTiEBKYzijx89gjRgjnJ6PEhwlz2UCq2AT0JFbt2sMCYosI 5Eise/wEyObgYBZwkpj+VQ8kLCzgInH71komEJtFQFWi89FasFZeAXeJlRf+sIOUSwgoSMyZ ZDOBkXsBI8MqRtHUguSC4qT0XCO94sTc4tK8dL3k/NxNjOBIeCa9g3FVg8UhRgEORiUe3oad c0OFWBPLiitzDzFKcDArifCySc0LFeJNSaysSi3Kjy8qzUktPsRoCrR8IrOUaHI+MErzSuIN jU3MTY1NLU0sTMwslcR5T+b7hAoJpCeWpGanphakFsH0MXFwSgFj7B/zFUuOLZIMzC/eymk/ O1xw33v243tvlrdkSP+U/6VS+LKUkXPWrBOLWV4qPUzesM5Q0b+P3SKiNT/huOG3k35LFmTs vJWYfSTj1UWLcwE7d1Vb/7X1+7jn/cw/vjvnLA2w8n3lWX7m8+IjW+44ZX3aViWhbb9oSlfS jjbbM6H3Yqa5sMtaKrEUZyQaajEXFScCAHg9/yOaAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1475 Lines: 46 Currently pdd is validate after dereferencing it, which is not correct, Thus validate pdd before its first use. Signed-off-by: Maninder Singh --- v1: remove validation of pdd after its usage v2: do validation at first place rather than removing drivers/gpu/drm/amd/amdkfd/kfd_process.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c index 8a1f999..9be0070 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c @@ -420,6 +420,12 @@ void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid) pqm_uninit(&p->pqm); pdd = kfd_get_process_device_data(dev, p); + + if (!pdd) { + mutex_unlock(&p->mutex); + return; + } + if (pdd->reset_wavefronts) { dbgdev_wave_reset_wavefronts(pdd->dev, p); pdd->reset_wavefronts = false; @@ -431,8 +437,7 @@ void kfd_unbind_process_from_device(struct kfd_dev *dev, unsigned int pasid) * We don't call amd_iommu_unbind_pasid() here * because the IOMMU called us. */ - if (pdd) - pdd->bound = false; + pdd->bound = false; mutex_unlock(&p->mutex); } -- 1.7.9.5 -- 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/