From: Greg KH <gregkh@linuxfoundation.org>
To: Abhishek Singh <quic_abhishes@quicinc.com>
Cc: srinivas.kandagatla@linaro.org, linux-arm-msm@vger.kernel.org,
quic_bkumar@quicinc.com, linux-kernel@vger.kernel.org,
quic_ktadakam@quicinc.com, quic_chennak@quicinc.com,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v1] misc: fastrpc: Trigger a panic using BUG_ON in device release
Date: Tue, 30 Jul 2024 09:16:49 +0200 [thread overview]
Message-ID: <2024073007-nickname-payee-20c8@gregkh> (raw)
In-Reply-To: <20240730070945.4174823-1-quic_abhishes@quicinc.com>
On Tue, Jul 30, 2024 at 12:39:45PM +0530, Abhishek Singh wrote:
> The user process on ARM closes the device node while closing the
> session, triggers a remote call to terminate the PD running on the
> DSP. If the DSP is in an unstable state and cannot process the remote
> request from the HLOS, glink fails to deliver the kill request to the
> DSP, resulting in a timeout error. Currently, this error is ignored,
> and the session is closed, causing all the SMMU mappings associated
> with that specific PD to be removed. However, since the PD is still
> operational on the DSP, any attempt to access these SMMU mappings
> results in an SMMU fault, leading to a panic. As the SMMU mappings
> have already been removed, there is no available information on the
> DSP to determine the root cause of its unresponsiveness to remote
> calls. As the DSP is unresponsive to all process remote calls, use
> BUG_ON to prevent the removal of SMMU mappings and to properly
> identify the root cause of the DSP’s unresponsiveness to the remote
> calls.
>
> Signed-off-by: Abhishek Singh <quic_abhishes@quicinc.com>
> ---
> drivers/misc/fastrpc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 5204fda51da3..bac9c749564c 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -97,6 +97,7 @@
> #define FASTRPC_RMID_INIT_CREATE_STATIC 8
> #define FASTRPC_RMID_INIT_MEM_MAP 10
> #define FASTRPC_RMID_INIT_MEM_UNMAP 11
> +#define PROCESS_KILL_SC 0x01010000
>
> /* Protection Domain(PD) ids */
> #define ROOT_PD (0)
> @@ -1128,6 +1129,9 @@ static int fastrpc_invoke_send(struct fastrpc_session_ctx *sctx,
> fastrpc_context_get(ctx);
>
> ret = rpmsg_send(cctx->rpdev->ept, (void *)msg, sizeof(*msg));
> + /* trigger panic if glink communication is broken and the message is for PD kill */
> + BUG_ON((ret == -ETIMEDOUT) && (handle == FASTRPC_INIT_HANDLE) &&
> + (ctx->sc == PROCESS_KILL_SC));
You just crashed the machine completely, sorry, but no, properly handle
the issue and clean up if you can detect it, do not break systems.
greg k-h
next prev parent reply other threads:[~2024-07-30 7:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-30 7:09 [PATCH v1] misc: fastrpc: Trigger a panic using BUG_ON in device release Abhishek Singh
2024-07-30 7:16 ` Greg KH [this message]
2024-08-05 11:06 ` Abhishek Singh
2024-08-13 9:37 ` Greg KH
2024-08-30 8:44 ` Abhishek Singh
2024-08-19 11:00 ` Caleb Connolly
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=2024073007-nickname-payee-20c8@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_abhishes@quicinc.com \
--cc=quic_bkumar@quicinc.com \
--cc=quic_chennak@quicinc.com \
--cc=quic_ktadakam@quicinc.com \
--cc=srinivas.kandagatla@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.