From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F139C05027 for ; Mon, 6 Feb 2023 06:17:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6A7BC6B0072; Mon, 6 Feb 2023 01:16:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 63B496B0073; Mon, 6 Feb 2023 01:16:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F8206B0074; Mon, 6 Feb 2023 01:16:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 3FDEA6B0072 for ; Mon, 6 Feb 2023 01:16:59 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D577A120AF4 for ; Mon, 6 Feb 2023 06:16:58 +0000 (UTC) X-FDA: 80435858916.10.84537B6 Received: from mail-vk1-f177.google.com (mail-vk1-f177.google.com [209.85.221.177]) by imf20.hostedemail.com (Postfix) with ESMTP id 216CB1C0007 for ; Mon, 6 Feb 2023 06:16:56 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=qIIw2mZM; spf=pass (imf20.hostedemail.com: domain of sumit.garg@linaro.org designates 209.85.221.177 as permitted sender) smtp.mailfrom=sumit.garg@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675664217; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JDJ7E+5D8G1vnAtYw8jg+ixJnHSubCbLRbjmt87s7Sw=; b=tHp4VN5S9IFZcUSzSUMZXdjzFV0Mb++HbvLGb4AaSVTeJk02eNUGJSkgwuIZkMbezlOg4+ u+mbC3LLeWUMih1J+Z+xYxuBylPcO4x9OMTKR/OBw5bUP/NxIJ8YIaD/mGmjlR7BXqycT+ 8iPsIs1yvKMdQsS6xQuz8TPV9PNKS1Y= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=qIIw2mZM; spf=pass (imf20.hostedemail.com: domain of sumit.garg@linaro.org designates 209.85.221.177 as permitted sender) smtp.mailfrom=sumit.garg@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675664217; a=rsa-sha256; cv=none; b=C6dwFDjCcwHmBHQdUMS8QiNEvl5LdbEfb5O6vYq8LHGIp5vPTuvsnjDoPOfr/f9j02QpjD CxcSiDANUPYxPQbZzLEJ1T9dASedBOF+wrvIcq+R/0d0cuLfwHbZn9+47+RZwMgH2B7Syz nqsDy8iiDmWr56czPErTW63FFhsPdcc= Received: by mail-vk1-f177.google.com with SMTP id s76so5592560vkb.9 for ; Sun, 05 Feb 2023 22:16:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=JDJ7E+5D8G1vnAtYw8jg+ixJnHSubCbLRbjmt87s7Sw=; b=qIIw2mZMMmjo/0FQtz+0yBU5o4G0HgzUkUNKjNDISa/pJ3pED7IhKbQ5d+/wdzzist hY5j6JvXdsUKSZaBV5fNXJXysXOmbI95HOSekuOf6vA+KrRzHDk3bRrh/9SDNLcH9cAw rYp+/iV6lXL1iK75nVcW/164zKTuR1aKE2VKo3iz5QB4Gz3SoQtS5I8YaSfk6sFEB9R+ Ln49Ytzqa8HPUortdoOKRew0e2fGnfHC0rMosNTWujpqP3BNV6abkpo+QI5sC90Ff7ua ESnEpaRSa5wAaAnIc99E5NxOVKcpUB6CEzP7QZdcm7U/bdepRoqtCfpHxtTeLyovH2/F DSDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JDJ7E+5D8G1vnAtYw8jg+ixJnHSubCbLRbjmt87s7Sw=; b=OMVytdFS5mBkM5rJBVC+k77wfWsn1IRTJIF+NGAni0aMAl5dS51DoOtsVtty7QDhHX zZ/4XY1n3bma+HaENDXkXzHaM6IxzHu6gKFOxz2GTolrKFNOwFjym+R4rnZXyzwf7Ozh GfY6GCYf12o71zoukgariDkJUPF6L9DyENjM/7jWLDtPU1lBdrgFJm4P155HMZE417uE u3QiY5p+rnBvpHx1MoOzUPsmGjpSxaeTZtadmhcTyY2XIOt9JkcznS4uLs2ug0JDtaXj o8Y46kjvEdxV+BKL5Zh0F5d+q3Dcad5+59WFqcpwhg3mI5Q1G89rqG0FpdS9A0oqYpLW sAUw== X-Gm-Message-State: AO0yUKWvRVGdfapIOEsa3aqf6eigdp15dEhK+1EGh9yevnTKl1mpDHXG dUU6CTpjLj5rrM/bK3k/TQJMfrVxfGcWGtB8cJ24Vg== X-Google-Smtp-Source: AK7set/39asDmEDee/lAJrh20mhQCcOYI9j6u+CMzu5miOYPEEMIB+bkubutTVEsRHA9kwmgKX17qG/E/QngQK96HWA= X-Received: by 2002:a05:6122:216b:b0:3ea:78fc:6dce with SMTP id j11-20020a056122216b00b003ea78fc6dcemr2643281vkr.0.1675664216181; Sun, 05 Feb 2023 22:16:56 -0800 (PST) MIME-Version: 1.0 References: <20230203-get_kernel_pages-v2-0-f1dc4af273f1@intel.com> <20230203-get_kernel_pages-v2-2-f1dc4af273f1@intel.com> In-Reply-To: <20230203-get_kernel_pages-v2-2-f1dc4af273f1@intel.com> From: Sumit Garg Date: Mon, 6 Feb 2023 11:46:45 +0530 Message-ID: Subject: Re: [PATCH v2 2/4] tee: Remove vmalloc page support To: Ira Weiny Cc: Andrew Morton , Al Viro , Christoph Hellwig , linux-kernel@vger.kernel.org, op-tee@lists.trustedfirmware.org, linux-mm@kvack.org, Jens Wiklander , "Fabio M. De Francesco" , John Hubbard , Linus Torvalds Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 216CB1C0007 X-Stat-Signature: t5ocy6obiw3mzsa18osth5yh8oigwm3g X-HE-Tag: 1675664216-772661 X-HE-Meta: U2FsdGVkX18AFFczlAr+W3sGgfNRzTa7BaZzz7bjooTR85TyrJ9mOhYG5bjyMY/KsCDHV4BEaOBf5m22WRgiBBlIZLRg0dgtvqP+F6jXzxzE6jWw3I6C9H+VBVQSch3yyuPhe+A7e6Jet4Kwl4qiIAt9MH7oDDcT6HeI5NMipOifynpq1dqUEDWhnO5NOpIgqZOnAHUijr4aNJZhWgLP1hn3JMNyjN7vrLO3rV7LYzGuU0popNckVuq2D//QY0V7hsiuZ5AzjfASx0EX61y9diFtZPCWKJCSPaqKgEeSsgw6DatuZfxh/Cv5BnmpGFZDKWqAdGw8LJshDEZyfxx6XFsGWbdR2PcV8HcWIJMkwOY8ZeZft4r/VikXTSGJ/+wtKxBG/pWKfOfc36aTBh07rOrED8sSEfUbZ3RMaNj6y82c94d7kJ1KOw95GVqS04Askeia56mlYGqK5UQpQPvPqsXazAtDjMvV4+stCs1E01/MIh6inbu8G/rshqfCVF/YdJ4nzkECpBt12+OTEHm/ybtWU1JgFKlwetnK1PgdM+rSaU/01W6VgWF9dzXxzzbsehEusvIEnzX4pXBHlzzEatsxwx+XfWPNxzAqPW1LXh59EoEJ5D572nbdPW/r8VHtgD52QwdTnUTjOAiUD7LG2DUCH/rOyeJ7CokFWGLceM+dsI/3BuW41s4J9Dd59/jpayUr/FrpQyQwb36OMXXqSNYpZygta+gcfy5RgYj7h1lu7JCOw1cnwxhpLdwY+ZoTRE8DAQ8Kny5VkcHQGHIPVvaumkmn2RC82t5jdg70VYKCll1i4j98HYIwL19zcQU8Oxt2HrbsO5lC0iMXYPhQmR83Z3i2abXc+gfR6FS3VMZUlpiCKvdRO+UfF2sKEoSMhv/IUHhKr098ta302RhnSQvXt2Q8Q64Ih0jQN6eMkL+r78dvb7jAk1/ZQcWjuR2hGH0NkbTG9r2zkDmztlX LjrmnkAg MQf4bIcu7zS/98esGoKUQdckRCqTaPtzF6phMgUuaqK7RkLNFfynVb5407F9/QACBUxW66iZ5ziBBamaj8aJenZ8FTU097pP0yWASvC07IkjYP08XJ8k7awQ8vI5FJ6KZaTQZCQ7nuWZJKzYziHaBvPgf5iSVaK0B6f16m4EfJ6Om8J++SuIt6WX5MPOZPkSlEQggtzgvALph4FvbqjSZ+AahdkQB3gchhFZUlh+pzFliWEqb2ixcujwapMjgFpHf5gl+K+bU1qJ2KenqWmfE+ppnpM278EDGNroUOiCN5FtgTsxouALiwHzLxY6SCflp4baxrnakI4hENiPu83RyaOiXq8pzTP+oEB6YQ3GvAWUVtSMTUikvI+W+Y25e4CW/iYgiH/FzXs7DWPETfTetlmAx76GSlu9Pgc/HY2TmeBijNcjc0np4RIplXCDVxbEcn4rNao5STOtetsz0PLmuvMcJhg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, 4 Feb 2023 at 09:36, Ira Weiny wrote: > > The kernel pages used by shm_get_kernel_pages() are allocated using > GFP_KERNEL through the following call stack: > > trusted_instantiate() > trusted_payload_alloc() -> GFP_KERNEL > > tee_shm_register_kernel_buf() > register_shm_helper() > shm_get_kernel_pages() > > Where is one of: > > trusted_key_unseal() > trusted_key_get_random() > trusted_key_seal() > > Remove the vmalloc page support from shm_get_kernel_pages(). Replace > with a warn on once. > > Cc: Al Viro > Cc: "Fabio M. De Francesco" > Cc: Christoph Hellwig > Cc: Linus Torvalds > Reviewed-by: Jens Wiklander > Signed-off-by: Ira Weiny > --- > drivers/tee/tee_shm.c | 36 ++++++++++++------------------------ > 1 file changed, 12 insertions(+), 24 deletions(-) > Reviewed-by: Sumit Garg -Sumit > diff --git a/drivers/tee/tee_shm.c b/drivers/tee/tee_shm.c > index 27295bda3e0b..527a6eabc03e 100644 > --- a/drivers/tee/tee_shm.c > +++ b/drivers/tee/tee_shm.c > @@ -24,37 +24,25 @@ static void shm_put_kernel_pages(struct page **pages, size_t page_count) > static int shm_get_kernel_pages(unsigned long start, size_t page_count, > struct page **pages) > { > + struct kvec *kiov; > size_t n; > int rc; > > - if (is_vmalloc_addr((void *)start)) { > - struct page *page; > - > - for (n = 0; n < page_count; n++) { > - page = vmalloc_to_page((void *)(start + PAGE_SIZE * n)); > - if (!page) > - return -ENOMEM; > - > - get_page(page); > - pages[n] = page; > - } > - rc = page_count; > - } else { > - struct kvec *kiov; > - > - kiov = kcalloc(page_count, sizeof(*kiov), GFP_KERNEL); > - if (!kiov) > - return -ENOMEM; > + if (WARN_ON_ONCE(is_vmalloc_addr((void *)start))) > + return -EINVAL; > > - for (n = 0; n < page_count; n++) { > - kiov[n].iov_base = (void *)(start + n * PAGE_SIZE); > - kiov[n].iov_len = PAGE_SIZE; > - } > + kiov = kcalloc(page_count, sizeof(*kiov), GFP_KERNEL); > + if (!kiov) > + return -ENOMEM; > > - rc = get_kernel_pages(kiov, page_count, 0, pages); > - kfree(kiov); > + for (n = 0; n < page_count; n++) { > + kiov[n].iov_base = (void *)(start + n * PAGE_SIZE); > + kiov[n].iov_len = PAGE_SIZE; > } > > + rc = get_kernel_pages(kiov, page_count, 0, pages); > + kfree(kiov); > + > return rc; > } > > > -- > 2.39.1