drm/exynos: Print kernel pointers in a restricted form

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 <krzk@kernel.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
Krzysztof Kozlowski 2017-03-14 20:38:04 +02:00 committed by Inki Dae
parent f07d9c2864
commit 9cdf0ed25a
6 changed files with 17 additions and 17 deletions

View File

@ -966,7 +966,7 @@ static void exynos_dsi_send_to_fifo(struct exynos_dsi *dsi,
bool first = !xfer->tx_done; bool first = !xfer->tx_done;
u32 reg; 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); xfer, length, xfer->tx_done, xfer->rx_len, xfer->rx_done);
if (length > DSI_TX_FIFO_SIZE) if (length > DSI_TX_FIFO_SIZE)
@ -1164,7 +1164,7 @@ static bool exynos_dsi_transfer_finish(struct exynos_dsi *dsi)
spin_unlock_irqrestore(&dsi->transfer_lock, flags); spin_unlock_irqrestore(&dsi->transfer_lock, flags);
dev_dbg(dsi->dev, 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, xfer->packet.payload_length, xfer->tx_done, xfer->rx_len,
xfer->rx_done); xfer->rx_done);

View File

@ -1695,7 +1695,7 @@ static int fimc_probe(struct platform_device *pdev)
goto err_put_clk; 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); spin_lock_init(&ctx->lock);
platform_set_drvdata(pdev, ctx); platform_set_drvdata(pdev, ctx);

View File

@ -218,7 +218,7 @@ static struct exynos_drm_gem *exynos_drm_gem_init(struct drm_device *dev,
return ERR_PTR(ret); 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; return exynos_gem;
} }

View File

@ -1723,7 +1723,7 @@ static int gsc_probe(struct platform_device *pdev)
return ret; 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); mutex_init(&ctx->lock);
platform_set_drvdata(pdev, ctx); platform_set_drvdata(pdev, ctx);

View File

@ -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. * e.g PAUSE state, queue buf, command control.
*/ */
list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) { 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); mutex_lock(&ippdrv->cmd_lock);
list_for_each_entry(c_node, &ippdrv->cmd_list, list) { 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; 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); property->prop_id, property->cmd, ippdrv);
/* stored property information and ippdrv in private data */ /* 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; int i;
DRM_DEBUG_KMS("node[%p]\n", m_node); DRM_DEBUG_KMS("node[%pK]\n", m_node);
if (!m_node) { if (!m_node) {
DRM_ERROR("invalid dequeue node.\n"); DRM_ERROR("invalid dequeue node.\n");
@ -562,7 +562,7 @@ static struct drm_exynos_ipp_mem_node
m_node->buf_id = qbuf->buf_id; m_node->buf_id = qbuf->buf_id;
INIT_LIST_HEAD(&m_node->list); 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); DRM_DEBUG_KMS("prop_id[%d]buf_id[%d]\n", qbuf->prop_id, m_node->buf_id);
for_each_ipp_planar(i) { 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); mutex_lock(&c_node->event_lock);
list_for_each_entry_safe(e, te, &c_node->event_list, base.link) { 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. * qbuf == NULL condition means all event deletion.
@ -750,7 +750,7 @@ static struct drm_exynos_ipp_mem_node
/* find memory node from memory list */ /* find memory node from memory list */
list_for_each_entry(m_node, head, 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 */ /* compare buffer id */
if (m_node->buf_id == qbuf->buf_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; struct exynos_drm_ipp_ops *ops = NULL;
int ret = 0; int ret = 0;
DRM_DEBUG_KMS("node[%p]\n", m_node); DRM_DEBUG_KMS("node[%pK]\n", m_node);
if (!m_node) { if (!m_node) {
DRM_ERROR("invalid queue node.\n"); 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, m_node = list_first_entry(head,
struct drm_exynos_ipp_mem_node, list); 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); ret = ipp_set_mem_node(ippdrv, c_node, m_node);
if (ret) { 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; 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); count++, ippdrv, ret);
/* store parent device for node */ /* 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; file_priv->ipp_dev = dev;
DRM_DEBUG_KMS("done priv[%p]\n", dev); DRM_DEBUG_KMS("done priv[%pK]\n", dev);
return 0; return 0;
} }
@ -1676,7 +1676,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
mutex_lock(&ippdrv->cmd_lock); mutex_lock(&ippdrv->cmd_lock);
list_for_each_entry_safe(c_node, tc_node, list_for_each_entry_safe(c_node, tc_node,
&ippdrv->cmd_list, list) { &ippdrv->cmd_list, list) {
DRM_DEBUG_KMS("count[%d]ippdrv[%p]\n", DRM_DEBUG_KMS("count[%d]ippdrv[%pK]\n",
count++, ippdrv); count++, ippdrv);
if (c_node->filp == file) { if (c_node->filp == file) {

View File

@ -748,7 +748,7 @@ static int rotator_probe(struct platform_device *pdev)
goto err_ippdrv_register; goto err_ippdrv_register;
} }
DRM_DEBUG_KMS("ippdrv[%p]\n", ippdrv); DRM_DEBUG_KMS("ippdrv[%pK]\n", ippdrv);
platform_set_drvdata(pdev, rot); platform_set_drvdata(pdev, rot);