From 33ba63bfbcffabf5dc1fb6b4064d806af67f0c04 Mon Sep 17 00:00:00 2001 From: Edgar Flores Date: Mon, 9 Aug 2021 16:55:32 -0700 Subject: [PATCH] msm: adsprpc: Validate fastrpc session ctx Validate fastrpc session ctx before dereferencing since it may be not be initialized when reading debug file. Change-Id: I6eccf3c17ced9c0d3a2678bf39634f984302e3a8 Signed-off-by: Edgar Flores --- drivers/char/adsprpc.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/drivers/char/adsprpc.c b/drivers/char/adsprpc.c index 3cbd73954e21..76520f99bfb7 100644 --- a/drivers/char/adsprpc.c +++ b/drivers/char/adsprpc.c @@ -5517,21 +5517,22 @@ static ssize_t fastrpc_debugfs_read(struct file *filp, char __user *buffer, "%s %6s %d\n", "file_close", ":", fl->file_close); len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, "%s %9s %d\n", "profile", ":", fl->profile); - len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, - "%s %3s %d\n", "smmu.coherent", ":", - fl->sctx->smmu.coherent); - len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, - "%s %4s %d\n", "smmu.enabled", ":", - fl->sctx->smmu.enabled); - len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, - "%s %9s %d\n", "smmu.cb", ":", fl->sctx->smmu.cb); - len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, - "%s %5s %d\n", "smmu.secure", ":", - fl->sctx->smmu.secure); - len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, - "%s %5s %d\n", "smmu.faults", ":", - fl->sctx->smmu.faults); - + if (fl->sctx) { + len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, + "%s %3s %d\n", "smmu.coherent", ":", + fl->sctx->smmu.coherent); + len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, + "%s %4s %d\n", "smmu.enabled", ":", + fl->sctx->smmu.enabled); + len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, + "%s %9s %d\n", "smmu.cb", ":", fl->sctx->smmu.cb); + len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, + "%s %5s %d\n", "smmu.secure", ":", + fl->sctx->smmu.secure); + len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, + "%s %5s %d\n", "smmu.faults", ":", + fl->sctx->smmu.faults); + } len += scnprintf(fileinfo + len, DEBUGFS_SIZE - len, "\n=======%s %s %s======\n", title, " LIST OF MAPS ", title);