From c436427397530676a1df2e404d7cbbf5e37e7ed3 Mon Sep 17 00:00:00 2001 From: Ayoung Sim Date: Mon, 3 Dec 2018 16:26:56 +0900 Subject: [PATCH] [RAMEN9610-10029][COMMON] media: mfc: fix information leak This patch doesn't print the pointers and use %pK instead %p, if it is necessary to show. Change-Id: I6bb2f272129d707c585bb1a98596e00442418999 Signed-off-by: Ayoung Sim --- drivers/media/platform/exynos/mfc/mfc.c | 7 +++---- drivers/media/platform/exynos/mfc/mfc_watchdog.c | 14 +++++++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/exynos/mfc/mfc.c b/drivers/media/platform/exynos/mfc/mfc.c index e01124b3d0f7..acf17a55c57f 100644 --- a/drivers/media/platform/exynos/mfc/mfc.c +++ b/drivers/media/platform/exynos/mfc/mfc.c @@ -594,8 +594,8 @@ static int mfc_open(struct file *file) mfc_perf_init(dev); trace_mfc_node_open(ctx->num, dev->num_inst, ctx->type, ctx->is_drm); - mfc_info_ctx("MFC open completed [%d:%d] dev = 0x%p, ctx = 0x%p, version = %d\n", - dev->num_drm_inst, dev->num_inst, dev, ctx, MFC_DRIVER_INFO); + mfc_info_ctx("MFC open completed [%d:%d] version = %d\n", + dev->num_drm_inst, dev->num_inst, MFC_DRIVER_INFO); MFC_TRACE_CTX_LT("[INFO] %s %s opened (ctx:%d, total:%d)\n", ctx->is_drm ? "DRM" : "Normal", mfc_is_decoder_node(node) ? "DEC" : "ENC", ctx->num, dev->num_inst); mutex_unlock(&dev->mfc_mutex); @@ -808,8 +808,7 @@ static int mfc_release(struct file *file) mfc_perf_print(); - mfc_info_dev("mfc driver release finished [%d:%d], dev = 0x%p\n", - dev->num_drm_inst, dev->num_inst, dev); + mfc_info_dev("mfc driver release finished [%d:%d]\n", dev->num_drm_inst, dev->num_inst); if (mfc_is_work_to_do(dev)) queue_work(dev->butler_wq, &dev->butler_work); diff --git a/drivers/media/platform/exynos/mfc/mfc_watchdog.c b/drivers/media/platform/exynos/mfc/mfc_watchdog.c index df445f258d45..cb156a03d73c 100644 --- a/drivers/media/platform/exynos/mfc/mfc_watchdog.c +++ b/drivers/media/platform/exynos/mfc/mfc_watchdog.c @@ -54,7 +54,7 @@ static void __mfc_dump_regs(struct mfc_dev *dev) { 0xC000, 0x84 }, }; - pr_err("-----------dumping MFC registers (SFR base = 0x%p, dev = 0x%p)\n", + pr_err("-----------dumping MFC registers (SFR base = 0x%pK, dev = 0x%pK)\n", dev->regs_base, dev); if (!mfc_pm_get_pwr_ref_cnt(dev) || !mfc_pm_get_clk_ref_cnt(dev)) { @@ -245,9 +245,17 @@ void __mfc_dump_buffer_info(struct mfc_dev *dev) if (ctx) { pr_err("-----------dumping MFC buffer info (fault at: %#x)\n", dev->logging_data->fault_addr); - pr_err("common:%#llx~%#llx, instance:%#llx~%#llx, codec:%#llx~%#llx\n", + pr_err("Normal FW:%llx~%#llx (common ctx buf:%#llx~%#llx)\n", + dev->fw_buf.daddr, dev->fw_buf.daddr + dev->fw_buf.size, dev->common_ctx_buf.daddr, - dev->common_ctx_buf.daddr + PAGE_ALIGN(0x7800), + dev->common_ctx_buf.daddr + PAGE_ALIGN(0x7800)); +#ifdef CONFIG_EXYNOS_CONTENT_PATH_PROTECTION + pr_err("Secure FW:%llx~%#llx (common ctx buf:%#llx~%#llx)\n", + dev->drm_fw_buf.daddr, dev->drm_fw_buf.daddr + dev->drm_fw_buf.size, + dev->drm_common_ctx_buf.daddr, + dev->drm_common_ctx_buf.daddr + PAGE_ALIGN(0x7800)); +#endif + pr_err("instance buf:%#llx~%#llx, codec buf:%#llx~%#llx\n", ctx->instance_ctx_buf.daddr, ctx->instance_ctx_buf.daddr + ctx->instance_ctx_buf.size, ctx->codec_buf.daddr, -- 2.20.1