mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jianping Li <jianping.li@oss.qualcomm.com>
To: srini@kernel.org, amahesh@qti.qualcomm.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, linux-arm-msm@vger.kernel.org
Cc: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>,
	thierry.escande@linaro.org, abelvesa@kernel.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	quic_chennak@quicinc.com, stable@kernel.org,
	Jianping Li <jianping.li@oss.qualcomm.com>
Subject: [PATCH v2 1/4] misc: fastrpc: Add NULL check to fastrpc_buf_free to prevent crash
Date: Thu, 15 Jan 2026 16:28:48 +0800	[thread overview]
Message-ID: <20260115082851.570-2-jianping.li@oss.qualcomm.com> (raw)
In-Reply-To: <20260115082851.570-1-jianping.li@oss.qualcomm.com>

From: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>

The fastrpc_buf_free function currently does not handle the case where
the input buffer pointer (buf) is NULL. This can lead to a null pointer
dereference, causing a crash or undefined behavior when the function
attempts to access members of the buf structure. Add a NULL check to
ensure safe handling of NULL pointers and prevent potential crashes.

Fixes: c68cfb718c8f9 ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
---
 drivers/misc/fastrpc.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index 4f5a79c50f58..515a43c9d95d 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -414,6 +414,9 @@ static int fastrpc_map_lookup(struct fastrpc_user *fl, int fd,
 
 static void fastrpc_buf_free(struct fastrpc_buf *buf)
 {
+	if (!buf)
+		return;
+
 	dma_free_coherent(buf->dev, buf->size, buf->virt,
 			  fastrpc_ipa_to_dma_addr(buf->fl->cctx, buf->dma_addr));
 	kfree(buf);
@@ -510,8 +513,7 @@ static void fastrpc_context_free(struct kref *ref)
 	for (i = 0; i < ctx->nbufs; i++)
 		fastrpc_map_put(ctx->maps[i]);
 
-	if (ctx->buf)
-		fastrpc_buf_free(ctx->buf);
+	fastrpc_buf_free(ctx->buf);
 
 	spin_lock_irqsave(&cctx->lock, flags);
 	idr_remove(&cctx->ctx_idr, ctx->ctxid >> 4);
@@ -1591,8 +1593,7 @@ static int fastrpc_device_release(struct inode *inode, struct file *file)
 	list_del(&fl->user);
 	spin_unlock_irqrestore(&cctx->lock, flags);
 
-	if (fl->init_mem)
-		fastrpc_buf_free(fl->init_mem);
+	fastrpc_buf_free(fl->init_mem);
 
 	list_for_each_entry_safe(ctx, n, &fl->pending, node) {
 		list_del(&ctx->node);
@@ -2492,8 +2493,7 @@ static void fastrpc_rpmsg_remove(struct rpmsg_device *rpdev)
 	list_for_each_entry_safe(buf, b, &cctx->invoke_interrupted_mmaps, node)
 		list_del(&buf->node);
 
-	if (cctx->remote_heap)
-		fastrpc_buf_free(cctx->remote_heap);
+	fastrpc_buf_free(cctx->remote_heap);
 
 	of_platform_depopulate(&rpdev->dev);
 
-- 
2.43.0


  reply	other threads:[~2026-01-15  8:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-15  8:28 [PATCH v2 0/4] Add missing bug fixes Jianping Li
2026-01-15  8:28 ` Jianping Li [this message]
2026-01-15 20:43   ` [PATCH v2 1/4] misc: fastrpc: Add NULL check to fastrpc_buf_free to prevent crash Dmitry Baryshkov
2026-02-02  6:33     ` Jianping
2026-01-16 14:49   ` Greg KH
2026-02-02  7:13     ` Jianping
2026-02-02  8:41       ` Greg KH
2026-02-03 11:00         ` Jianping
2026-02-03 12:08         ` Jianping
2026-02-03 21:32           ` Bjorn Andersson
2026-02-05  9:07             ` Jianping
2026-01-15  8:28 ` [PATCH v2 2/4] misc: fastrpc: Fix initial memory allocation for Audio PD memory pool Jianping Li
2026-01-15 20:45   ` Dmitry Baryshkov
2026-02-02  6:42     ` Jianping
2026-01-15  8:28 ` [PATCH v2 3/4] misc: fastrpc: Remove buffer from list prior to unmap operation Jianping Li
2026-01-15 20:47   ` Dmitry Baryshkov
2026-02-02  6:51     ` Jianping
2026-02-03 21:15       ` Dmitry Baryshkov
2026-02-05  9:00         ` Jianping
2026-01-15  8:28 ` [PATCH v2 4/4] misc: fastrpc: Allocate entire reserved memory for Audio PD in probe Jianping Li
2026-01-15 20:49   ` Dmitry Baryshkov
2026-02-02  7:06     ` Jianping
2026-02-03 21:19       ` Dmitry Baryshkov
2026-02-03 21:42         ` Bjorn Andersson
2026-02-05  9:04           ` Jianping
2026-02-05  9:02         ` Jianping

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260115082851.570-2-jianping.li@oss.qualcomm.com \
    --to=jianping.li@oss.qualcomm.com \
    --cc=abelvesa@kernel.org \
    --cc=amahesh@qti.qualcomm.com \
    --cc=arnd@arndb.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=ekansh.gupta@oss.qualcomm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quic_chennak@quicinc.com \
    --cc=srini@kernel.org \
    --cc=stable@kernel.org \
    --cc=thierry.escande@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®