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 1/8] optee: Fix memory leak when failing to register shm pages Date: Mon, 14 Jun 2021 17:33:10 -0500 [thread overview] Message-ID: <20210614223317.999867-2-tyhicks@linux.microsoft.com> (raw) In-Reply-To: <20210614223317.999867-1-tyhicks@linux.microsoft.com> Free the previously allocated pages when we encounter an error condition while attempting to register the pages with the secure world. Fixes: a249dd200d03 ("tee: optee: Fix dynamic shm pool allocations") Fixes: 5a769f6ff439 ("optee: Fix multi page dynamic shm pool alloc") Cc: stable@vger.kernel.org Signed-off-by: Tyler Hicks <tyhicks@linux.microsoft.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> --- drivers/tee/optee/shm_pool.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/tee/optee/shm_pool.c b/drivers/tee/optee/shm_pool.c index d767eebf30bd..da06ce9b9313 100644 --- a/drivers/tee/optee/shm_pool.c +++ b/drivers/tee/optee/shm_pool.c @@ -32,8 +32,10 @@ static int pool_op_alloc(struct tee_shm_pool_mgr *poolm, struct page **pages; pages = kcalloc(nr_pages, sizeof(pages), GFP_KERNEL); - if (!pages) - return -ENOMEM; + if (!pages) { + rc = -ENOMEM; + goto err; + } for (i = 0; i < nr_pages; i++) { pages[i] = page; @@ -44,8 +46,14 @@ static int pool_op_alloc(struct tee_shm_pool_mgr *poolm, rc = optee_shm_register(shm->ctx, shm, pages, nr_pages, (unsigned long)shm->kaddr); kfree(pages); + if (rc) + goto err; } + return 0; + +err: + __free_pages(page, order); return rc; } -- 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 ` Tyler Hicks [this message] 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 ` [PATCH v5 3/8] optee: fix tee out of memory failure seen during kexec reboot Tyler Hicks 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-2-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 1/8] optee: Fix memory leak when failing to register shm pages' \ /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).