{"id":809984,"url":"http://patchwork.ozlabs.org/api/patches/809984/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20170905081029.19769-7-mperttunen@nvidia.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170905081029.19769-7-mperttunen@nvidia.com>","list_archive_url":null,"date":"2017-09-05T08:10:29","name":"[v2,6/6] drm/tegra: Use u64_to_user_ptr helper","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"892573b272abea42d050c7db2bb3145087cfbe30","submitter":{"id":26499,"url":"http://patchwork.ozlabs.org/api/people/26499/?format=json","name":"Mikko Perttunen","email":"mperttunen@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20170905081029.19769-7-mperttunen@nvidia.com/mbox/","series":[{"id":1506,"url":"http://patchwork.ozlabs.org/api/series/1506/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=1506","date":"2017-09-05T08:10:29","name":"Miscellaneous improvements to Host1x and TegraDRM","version":2,"mbox":"http://patchwork.ozlabs.org/series/1506/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/809984/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809984/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linux-tegra-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-tegra-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tsecure) header.d=kapsi.fi header.i=@kapsi.fi header.b=\"P1UnQIKk\";\n\tdkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xmfXz2RMYz9s7c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  5 Sep 2017 18:10:43 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751434AbdIEIKl (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tTue, 5 Sep 2017 04:10:41 -0400","from mail.kapsi.fi ([91.232.154.25]:40621 \"EHLO mail.kapsi.fi\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1750766AbdIEIKk (ORCPT <rfc822;linux-tegra@vger.kernel.org>);\n\tTue, 5 Sep 2017 04:10:40 -0400","from dsl-hkibng41-567306-181.dhcp.inet.fi ([86.115.6.181]\n\thelo=localhost.localdomain) by mail.kapsi.fi with esmtpsa\n\t(TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2)\n\t(envelope-from <mperttunen@nvidia.com>)\n\tid 1dp8wN-0001nH-QJ; Tue, 05 Sep 2017 11:10:35 +0300"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kapsi.fi;\n\ts=20161220; \n\th=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;\n\tbh=sF32DScfAjpNTX5bQQhwxnQ42/19YL0u6535lXZMypg=; \n\tb=P1UnQIKkLsMqtDiSigHVSOf1pUimuGmp7+20me4JcyeXeGsElEyQnd9TeZWdgMtFTf6vHcRMiTO16MPBySgET9Xfnr5Ebf9oT35VF4unawvQwGo8McKMheiwZ35dnP08INwxt5QiafYLT0xRLzBPnQd7of+h8L/T0eTFgjw1OM+1k7QwF5GXJ/oqkYWf+UUNgJgcFpikZYlD8knXVDprtmC/doO/aTHbppEH1Bpx7VBc1ndyfZ61Z2mGqK1cWoIKS71Z2YqQ33JOuZzKdE2PChNPu5bfFhFNGPzu3MhnApcfgcy1kXOgrU7eNPrWQC2fSK4qQ5MUANZIFoIvY5bnag==;","From":"Mikko Perttunen <mperttunen@nvidia.com>","To":"thierry.reding@gmail.com, jonathanh@nvidia.com","Cc":"digetx@gmail.com, dri-devel@lists.freedesktop.org,\n\tlinux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tMikko Perttunen <mperttunen@nvidia.com>","Subject":"[PATCH v2 6/6] drm/tegra: Use u64_to_user_ptr helper","Date":"Tue,  5 Sep 2017 11:10:29 +0300","Message-Id":"<20170905081029.19769-7-mperttunen@nvidia.com>","X-Mailer":"git-send-email 2.14.1","In-Reply-To":"<20170905081029.19769-1-mperttunen@nvidia.com>","References":"<20170905081029.19769-1-mperttunen@nvidia.com>","X-SA-Exim-Connect-IP":"86.115.6.181","X-SA-Exim-Mail-From":"mperttunen@nvidia.com","X-SA-Exim-Scanned":"No (on mail.kapsi.fi); SAEximRunCond expanded to false","Sender":"linux-tegra-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-tegra.vger.kernel.org>","X-Mailing-List":"linux-tegra@vger.kernel.org"},"content":"Use the u64_to_user_ptr helper macro to cast IOCTL argument u64 values\nto user pointers instead of writing out the cast manually.\n\nSigned-off-by: Mikko Perttunen <mperttunen@nvidia.com>\n---\n drivers/gpu/drm/tegra/drm.c | 18 ++++++++++--------\n 1 file changed, 10 insertions(+), 8 deletions(-)","diff":"diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c\nindex e3331a2bc082..72d5c0021540 100644\n--- a/drivers/gpu/drm/tegra/drm.c\n+++ b/drivers/gpu/drm/tegra/drm.c\n@@ -388,18 +388,21 @@ int tegra_drm_submit(struct tegra_drm_context *context,\n \tunsigned int num_cmdbufs = args->num_cmdbufs;\n \tunsigned int num_relocs = args->num_relocs;\n \tunsigned int num_waitchks = args->num_waitchks;\n-\tstruct drm_tegra_cmdbuf __user *cmdbufs =\n-\t\t(void __user *)(uintptr_t)args->cmdbufs;\n-\tstruct drm_tegra_reloc __user *relocs =\n-\t\t(void __user *)(uintptr_t)args->relocs;\n-\tstruct drm_tegra_waitchk __user *waitchks =\n-\t\t(void __user *)(uintptr_t)args->waitchks;\n+\tstruct drm_tegra_cmdbuf __user *cmdbufs;\n+\tstruct drm_tegra_reloc __user *relocs;\n+\tstruct drm_tegra_waitchk __user *waitchks;\n+\tstruct drm_tegra_syncpt __user *user_syncpt;\n \tstruct drm_tegra_syncpt syncpt;\n \tstruct host1x *host1x = dev_get_drvdata(drm->dev->parent);\n \tstruct host1x_syncpt *sp;\n \tstruct host1x_job *job;\n \tint err;\n \n+\tcmdbufs = u64_to_user_ptr(args->cmdbufs);\n+\trelocs = u64_to_user_ptr(args->relocs);\n+\twaitchks = u64_to_user_ptr(args->waitchks);\n+\tuser_syncpt = u64_to_user_ptr(args->syncpts);\n+\n \t/* We don't yet support other than one syncpt_incr struct per submit */\n \tif (args->num_syncpts != 1)\n \t\treturn -EINVAL;\n@@ -520,8 +523,7 @@ int tegra_drm_submit(struct tegra_drm_context *context,\n \t\t}\n \t}\n \n-\tif (copy_from_user(&syncpt, (void __user *)(uintptr_t)args->syncpts,\n-\t\t\t   sizeof(syncpt))) {\n+\tif (copy_from_user(&syncpt, user_syncpt, sizeof(syncpt))) {\n \t\terr = -EFAULT;\n \t\tgoto fail;\n \t}\n","prefixes":["v2","6/6"]}