From: Tyler Hicks <tyhicks@linux.microsoft.com> To: Jens Wiklander <jens.wiklander@linaro.org>, Allen Pais <apais@linux.microsoft.com>, Sumit Garg <sumit.garg@linaro.org>, Peter Huewe <peterhuewe@gmx.de>, Jarkko Sakkinen <jarkko@kernel.org>, Jason Gunthorpe <jgg@ziepe.ca>, Vikas Gupta <vikas.gupta@broadcom.com> Cc: "Thirupathaiah Annapureddy" <thiruan@microsoft.com>, "Pavel Tatashin" <pasha.tatashin@soleen.com>, "Rafał Miłecki" <zajec5@gmail.com>, op-tee@lists.trustedfirmware.org, linux-integrity@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 3/8] optee: fix tee out of memory failure seen during kexec reboot Date: Mon, 14 Jun 2021 17:33:12 -0500 [thread overview] Message-ID: <20210614223317.999867-4-tyhicks@linux.microsoft.com> (raw) In-Reply-To: <20210614223317.999867-1-tyhicks@linux.microsoft.com> From: Allen Pais <apais@linux.microsoft.com> The following out of memory errors are seen on kexec reboot from the optee core. [ 0.368428] tee_bnxt_fw optee-clnt0: tee_shm_alloc failed [ 0.368461] tee_bnxt_fw: probe of optee-clnt0 failed with error -22 tee_shm_release() is not invoked on dma shm buffer. Implement .shutdown() method to handle the release of the buffers correctly. More info: https://github.com/OP-TEE/optee_os/issues/3637 Cc: stable@vger.kernel.org Signed-off-by: Allen Pais <apais@linux.microsoft.com> Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> --- drivers/tee/optee/core.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c index 5288cd767d82..0987074d7ed0 100644 --- a/drivers/tee/optee/core.c +++ b/drivers/tee/optee/core.c @@ -573,6 +573,13 @@ static optee_invoke_fn *get_invoke_func(struct device *dev) return ERR_PTR(-EINVAL); } +/* optee_remove - Device Removal Routine + * @pdev: platform device information struct + * + * optee_remove is called by platform subsystem to alert the driver + * that it should release the device + */ + static int optee_remove(struct platform_device *pdev) { struct optee *optee = platform_get_drvdata(pdev); @@ -603,6 +610,18 @@ static int optee_remove(struct platform_device *pdev) return 0; } +/* optee_shutdown - Device Removal Routine + * @pdev: platform device information struct + * + * platform_shutdown is called by the platform subsystem to alert + * the driver that a shutdown, reboot, or kexec is happening and + * device must be disabled. + */ +static void optee_shutdown(struct platform_device *pdev) +{ + optee_disable_shm_cache(platform_get_drvdata(pdev)); +} + static int optee_probe(struct platform_device *pdev) { optee_invoke_fn *invoke_fn; @@ -739,6 +758,7 @@ MODULE_DEVICE_TABLE(of, optee_dt_match); static struct platform_driver optee_driver = { .probe = optee_probe, .remove = optee_remove, + .shutdown = optee_shutdown, .driver = { .name = "optee", .of_match_table = optee_dt_match, -- 2.25.1
next prev parent reply other threads:[~2021-06-14 22:33 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-14 22:33 [PATCH v5 0/8] tee: Improve support for kexec and kdump Tyler Hicks 2021-06-14 22:33 ` [PATCH v5 1/8] optee: Fix memory leak when failing to register shm pages Tyler Hicks 2021-06-14 22:33 ` [PATCH v5 2/8] optee: Refuse to load the driver under the kdump kernel Tyler Hicks 2021-06-14 22:33 ` Tyler Hicks [this message] 2021-06-14 22:33 ` [PATCH v5 4/8] optee: Clear stale cache entries during initialization Tyler Hicks 2021-06-15 7:00 ` Jens Wiklander 2021-06-14 22:33 ` [PATCH v5 5/8] tee: add tee_shm_alloc_kernel_buf() Tyler Hicks 2021-06-14 22:33 ` [PATCH v5 6/8] tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag Tyler Hicks 2021-06-15 7:10 ` Jens Wiklander 2021-06-14 22:33 ` [PATCH v5 7/8] tpm_ftpm_tee: Free and unregister TEE shared memory during kexec Tyler Hicks 2021-06-14 22:33 ` [PATCH v5 8/8] firmware: tee_bnxt: Release TEE shm, session, and context " Tyler Hicks 2021-06-15 4:32 ` [PATCH v5 0/8] tee: Improve support for kexec and kdump Sumit Garg 2021-06-15 4:34 ` Tyler Hicks 2021-06-15 7:23 ` Jens Wiklander 2021-06-15 13:37 ` Tyler Hicks 2021-06-15 14:15 ` Florian Fainelli 2021-07-21 6:03 ` Jens Wiklander
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=20210614223317.999867-4-tyhicks@linux.microsoft.com \ --to=tyhicks@linux.microsoft.com \ --cc=apais@linux.microsoft.com \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=jarkko@kernel.org \ --cc=jens.wiklander@linaro.org \ --cc=jgg@ziepe.ca \ --cc=linux-integrity@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mips@vger.kernel.org \ --cc=op-tee@lists.trustedfirmware.org \ --cc=pasha.tatashin@soleen.com \ --cc=peterhuewe@gmx.de \ --cc=sumit.garg@linaro.org \ --cc=thiruan@microsoft.com \ --cc=vikas.gupta@broadcom.com \ --cc=zajec5@gmail.com \ --subject='Re: [PATCH v5 3/8] optee: fix tee out of memory failure seen during kexec reboot' \ /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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).