Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cdf0ed2 authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Inki Dae
Browse files

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: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent f07d9c28
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -966,7 +966,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)
@@ -1164,7 +1164,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);

+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
}
+1 −1
Original line number Diff line number Diff line
@@ -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);
+11 −11
Original line number Diff line number Diff line
@@ -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) {
Loading