Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751576AbdCOEuh (ORCPT ); Wed, 15 Mar 2017 00:50:37 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:50352 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750884AbdCOEuf (ORCPT ); Wed, 15 Mar 2017 00:50:35 -0400 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 X-AuditID: b6c32a2c-f79b56d0000012f0-74-58c8c81844af Content-transfer-encoding: 8BIT Message-id: <58C8C818.3020700@samsung.com> Date: Wed, 15 Mar 2017 13:50:32 +0900 From: Inki Dae User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Krzysztof Kozlowski , Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , David Airlie , Kukjin Kim , Javier Martinez Canillas , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/exynos: Print kernel pointers in a restricted form In-reply-to: <20170314183804.13788-1-krzk@kernel.org> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJJsWRmVeSWpSXmKPExsWy7bCmuq7EiRMRBj3TFC16z51ksrjy9T2b xZu3a5gsXty7yGLR//g1s8X58xvYLc42vWG32PT4GqvF5V1z2CxmnN/HZDFj8ks2B26PTas6 2Ty2f3vA6nG/+ziTx+Yl9R5b+u+ye/RtWcXo8XmTXAB7VKpNRmpiSmqRQmpecn5KZl66rZJ3 cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtCNSgpliTmlQKGAxOJiJX07m6L80pJUhYz8 4hJbpWhDQyM9QwNzPSMjIz0T41grI1OgkoTUjK+3D7IX9NtXXN+6mbGB8aBJFyMnh4SAicTE YzdYIGwxiQv31rN1MXJxCAksZZToPXiaCcJpZ5KYtOsmO0zHvq/voKqWM0osWdQEluAVEJT4 Mfke0CgODmYBeYkjl7JBwswCmhIvvkxigai/xyix//pTqHotiV/zFrGC2CwCqhJvVx1nBLHZ gOyJK+6zgdiiAhESO+d/YwdpFhFYzSxxdNVSsISwgLfE9kvrmUFsTgFTiXsHroJdJCFwjF3i 2d7D7CBXSAjISmw6wAxxtYtE44oLrBC2sMSr41ugvpGW+Lv0FiNEbzujRNvMM6wQTgujxP+e K9CQMZa4/+AeM8Q/fBK9v58wQSzglehoE4IwPSQezICa6Six4W4zK8THHYwS2x9uY57AKDcL KZBmIQJpFlIgLWBkXsUollpQnJueWmxaYKhXnJhbXJqXrpecn7uJEZwstXR2MN5b4H2IUYCD UYmH98XOExFCrIllxZW5hxglOJiVRHil9gGFeFMSK6tSi/Lji0pzUosPMZoCw3gis5Rocj4w keeVxBuamBmaGFkCobmhuZI4b5TBxAghgfTEktTs1NSC1CKYPiYOTqkGRrHt+RYvZhw9oGyV o3TsvtFqVYPuf32Td/P/2rZf68ajw/OOK68QZv6zVVWgj9FEZ5/EXOlDjIJH52R/trnOeu71 Aiud9JmnPWJV5lhYNO6JXZ4jNKthny/TVL4PJ5ff8tU4O1/5+IxWPx2pc3Zqr5/qVs+5f6Wb M2jd1rYfOq3W+6RY11okqiqxFGckGmoxFxUnAgAr1dT+rAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMIsWRmVeSWpSXmKPExsVy+t9jAV2JEyciDPoeC1v0njvJZHHl63s2 izdv1zBZvLh3kcWi//FrZovz5zewW5xtesNusenxNVaLy7vmsFnMOL+PyWLG5JdsDtwem1Z1 snls//aA1eN+93Emj81L6j229N9l9+jbsorR4/MmuQD2KDebjNTElNQihdS85PyUzLx0W6XQ EDddCyWFvMTcVFulCF3fkCAlhbLEnFIgz8gADTg4B7gHK+nbJbhlfL19kL2g377i+tbNjA2M B026GDk5JARMJPZ9fccGYYtJXLi3Hsjm4hASWMoo8b/7JDtIgldAUOLH5HssXYwcHMwC8hJH LmVDmOoSU6bkQpQ/YJTY09zOClGuJfFr3iIwm0VAVeLtquOMIDYbkD1xxX02kF5RgQiJ7hOV IL0iAuuZJe6fWcYCUiMs4C2x/dJ6ZoihXYwSKxb/YgZJcAqYStw7cJVtAiP/LCQnzUI4aRbC SQsYmVcxSqQWJBcUJ6XnGuWllusVJ+YWl+al6yXn525iBEfgM+kdjId3uR9iFOBgVOLh3fDp eIQQa2JZcWXuIUYJDmYlEV6pfScihHhTEiurUovy44tKc1KLDzGaAv00kVlKNDkfmBzySuIN TcxNzI0NLMwtLU2MlMR5G2c/CxcSSE8sSc1OTS1ILYLpY+LglGpgnKIS+4DNQbUv6ekBsYzm P97nV0nvOK17v9r824KotodBM1c//35Mal37Qq8VkS7cC7/8vSCwIb90USv7u5mimZLPdI5P 3GzEfbHoWPEODh85tuecZzYEzJJ8Nzs38sSK1+lbvbffXdC+30QgbFO/rFlc443zu1l3bvkf 9PTCjoMuDRqbguvlG5RYijMSDbWYi4oTAe+LssvWAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170315045032epcas5p4d31cc5f00bb96f90d463b1776fa119fc X-Msg-Generator: CA X-Sender-IP: 203.254.230.27 X-Local-Sender: =?UTF-8?B?64yA7J246riwG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbU2VuaW9yIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?SW5raSBEYWUbVGl6ZW4gUGxhdGZvcm0gTGFiLhtTYW1zdW5n?= =?UTF-8?B?IEVsZWN0cm9uaWNzG1NlbmlvciBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1NUQUYbQzEwVjgxMTE=?= CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20170314183912epcas4p2731fbe283583ca0e0183de39694dacfc X-RootMTR: 20170314183912epcas4p2731fbe283583ca0e0183de39694dacfc References: <20170314183804.13788-1-krzk@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 7880 Lines: 199 Merged. Thanks, Inki Dae 2017년 03월 15일 03:38에 Krzysztof Kozlowski 이(가) 쓴 글: > Printing raw kernel pointers might reveal information which sometimes we > try to hide (e.g. with Kernel Address Space Layout Randomization). Use > the "%pK" format so these pointers will be hidden for unprivileged > users. > > Signed-off-by: Krzysztof Kozlowski > --- > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 ++-- > drivers/gpu/drm/exynos/exynos_drm_fimc.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_gem.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_gsc.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_ipp.c | 22 +++++++++++----------- > drivers/gpu/drm/exynos/exynos_drm_rotator.c | 2 +- > 6 files changed, 17 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > index 812e2ec0761d..202526b20b64 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c > @@ -979,7 +979,7 @@ static void exynos_dsi_send_to_fifo(struct exynos_dsi *dsi, > bool first = !xfer->tx_done; > u32 reg; > > - dev_dbg(dev, "< xfer %p: tx len %u, done %u, rx len %u, done %u\n", > + dev_dbg(dev, "< xfer %pK: tx len %u, done %u, rx len %u, done %u\n", > xfer, length, xfer->tx_done, xfer->rx_len, xfer->rx_done); > > if (length > DSI_TX_FIFO_SIZE) > @@ -1177,7 +1177,7 @@ static bool exynos_dsi_transfer_finish(struct exynos_dsi *dsi) > spin_unlock_irqrestore(&dsi->transfer_lock, flags); > > dev_dbg(dsi->dev, > - "> xfer %p, tx_len %zu, tx_done %u, rx_len %u, rx_done %u\n", > + "> xfer %pK, tx_len %zu, tx_done %u, rx_len %u, rx_done %u\n", > xfer, xfer->packet.payload_length, xfer->tx_done, xfer->rx_len, > xfer->rx_done); > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c > index 95871577015d..5b18b5c5fdf2 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c > @@ -1695,7 +1695,7 @@ static int fimc_probe(struct platform_device *pdev) > goto err_put_clk; > } > > - DRM_DEBUG_KMS("id[%d]ippdrv[%p]\n", ctx->id, ippdrv); > + DRM_DEBUG_KMS("id[%d]ippdrv[%pK]\n", ctx->id, ippdrv); > > spin_lock_init(&ctx->lock); > platform_set_drvdata(pdev, ctx); > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c > index 4c28f7ffcc4d..55a1579d11b3 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c > @@ -218,7 +218,7 @@ static struct exynos_drm_gem *exynos_drm_gem_init(struct drm_device *dev, > return ERR_PTR(ret); > } > > - DRM_DEBUG_KMS("created file object = %p\n", obj->filp); > + DRM_DEBUG_KMS("created file object = %pK\n", obj->filp); > > return exynos_gem; > } > diff --git a/drivers/gpu/drm/exynos/exynos_drm_gsc.c b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > index bef57987759d..0506b2b17ac1 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_gsc.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_gsc.c > @@ -1723,7 +1723,7 @@ static int gsc_probe(struct platform_device *pdev) > return ret; > } > > - DRM_DEBUG_KMS("id[%d]ippdrv[%p]\n", ctx->id, ippdrv); > + DRM_DEBUG_KMS("id[%d]ippdrv[%pK]\n", ctx->id, ippdrv); > > mutex_init(&ctx->lock); > platform_set_drvdata(pdev, ctx); > diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c > index 9c84ee76f18a..3edda18cc2d2 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c > @@ -208,7 +208,7 @@ static struct exynos_drm_ippdrv *ipp_find_drv_by_handle(u32 prop_id) > * e.g PAUSE state, queue buf, command control. > */ > list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) { > - DRM_DEBUG_KMS("count[%d]ippdrv[%p]\n", count++, ippdrv); > + DRM_DEBUG_KMS("count[%d]ippdrv[%pK]\n", count++, ippdrv); > > mutex_lock(&ippdrv->cmd_lock); > list_for_each_entry(c_node, &ippdrv->cmd_list, list) { > @@ -388,7 +388,7 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data, > } > property->prop_id = ret; > > - DRM_DEBUG_KMS("created prop_id[%d]cmd[%d]ippdrv[%p]\n", > + DRM_DEBUG_KMS("created prop_id[%d]cmd[%d]ippdrv[%pK]\n", > property->prop_id, property->cmd, ippdrv); > > /* stored property information and ippdrv in private data */ > @@ -518,7 +518,7 @@ static int ipp_put_mem_node(struct drm_device *drm_dev, > { > int i; > > - DRM_DEBUG_KMS("node[%p]\n", m_node); > + DRM_DEBUG_KMS("node[%pK]\n", m_node); > > if (!m_node) { > DRM_ERROR("invalid dequeue node.\n"); > @@ -562,7 +562,7 @@ static struct drm_exynos_ipp_mem_node > m_node->buf_id = qbuf->buf_id; > INIT_LIST_HEAD(&m_node->list); > > - DRM_DEBUG_KMS("m_node[%p]ops_id[%d]\n", m_node, qbuf->ops_id); > + DRM_DEBUG_KMS("m_node[%pK]ops_id[%d]\n", m_node, qbuf->ops_id); > DRM_DEBUG_KMS("prop_id[%d]buf_id[%d]\n", qbuf->prop_id, m_node->buf_id); > > for_each_ipp_planar(i) { > @@ -659,7 +659,7 @@ static void ipp_put_event(struct drm_exynos_ipp_cmd_node *c_node, > > mutex_lock(&c_node->event_lock); > list_for_each_entry_safe(e, te, &c_node->event_list, base.link) { > - DRM_DEBUG_KMS("count[%d]e[%p]\n", count++, e); > + DRM_DEBUG_KMS("count[%d]e[%pK]\n", count++, e); > > /* > * qbuf == NULL condition means all event deletion. > @@ -750,7 +750,7 @@ static struct drm_exynos_ipp_mem_node > > /* find memory node from memory list */ > list_for_each_entry(m_node, head, list) { > - DRM_DEBUG_KMS("count[%d]m_node[%p]\n", count++, m_node); > + DRM_DEBUG_KMS("count[%d]m_node[%pK]\n", count++, m_node); > > /* compare buffer id */ > if (m_node->buf_id == qbuf->buf_id) > @@ -767,7 +767,7 @@ static int ipp_set_mem_node(struct exynos_drm_ippdrv *ippdrv, > struct exynos_drm_ipp_ops *ops = NULL; > int ret = 0; > > - DRM_DEBUG_KMS("node[%p]\n", m_node); > + DRM_DEBUG_KMS("node[%pK]\n", m_node); > > if (!m_node) { > DRM_ERROR("invalid queue node.\n"); > @@ -1232,7 +1232,7 @@ static int ipp_start_property(struct exynos_drm_ippdrv *ippdrv, > m_node = list_first_entry(head, > struct drm_exynos_ipp_mem_node, list); > > - DRM_DEBUG_KMS("m_node[%p]\n", m_node); > + DRM_DEBUG_KMS("m_node[%pK]\n", m_node); > > ret = ipp_set_mem_node(ippdrv, c_node, m_node); > if (ret) { > @@ -1601,7 +1601,7 @@ static int ipp_subdrv_probe(struct drm_device *drm_dev, struct device *dev) > } > ippdrv->prop_list.ipp_id = ret; > > - DRM_DEBUG_KMS("count[%d]ippdrv[%p]ipp_id[%d]\n", > + DRM_DEBUG_KMS("count[%d]ippdrv[%pK]ipp_id[%d]\n", > count++, ippdrv, ret); > > /* store parent device for node */ > @@ -1659,7 +1659,7 @@ static int ipp_subdrv_open(struct drm_device *drm_dev, struct device *dev, > > file_priv->ipp_dev = dev; > > - DRM_DEBUG_KMS("done priv[%p]\n", dev); > + DRM_DEBUG_KMS("done priv[%pK]\n", dev); > > return 0; > } > @@ -1676,7 +1676,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev, > mutex_lock(&ippdrv->cmd_lock); > list_for_each_entry_safe(c_node, tc_node, > &ippdrv->cmd_list, list) { > - DRM_DEBUG_KMS("count[%d]ippdrv[%p]\n", > + DRM_DEBUG_KMS("count[%d]ippdrv[%pK]\n", > count++, ippdrv); > > if (c_node->filp == file) { > diff --git a/drivers/gpu/drm/exynos/exynos_drm_rotator.c b/drivers/gpu/drm/exynos/exynos_drm_rotator.c > index 6591e406084c..79282a820ecc 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_rotator.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_rotator.c > @@ -748,7 +748,7 @@ static int rotator_probe(struct platform_device *pdev) > goto err_ippdrv_register; > } > > - DRM_DEBUG_KMS("ippdrv[%p]\n", ippdrv); > + DRM_DEBUG_KMS("ippdrv[%pK]\n", ippdrv); > > platform_set_drvdata(pdev, rot); > >