From: Guenter Roeck <linux@roeck-us•net>
To: Claire Chang <tientzu@chromium•org>
Cc: heikki.krogerus@linux•intel.com,
thomas.hellstrom@linux•intel.com, peterz@infradead•org,
joonas.lahtinen@linux•intel.com, dri-devel@lists•freedesktop.org,
chris@chris-wilson•co.uk, grant.likely@arm•com, paulus@samba•org,
Frank Rowand <frowand.list@gmail•com>,
mingo@kernel•org, Marek Szyprowski <m.szyprowski@samsung•com>,
sstabellini@kernel•org, Saravana Kannan <saravanak@google•com>,
Joerg Roedel <joro@8bytes•org>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel•com>,
Christoph Hellwig <hch@lst•de>,
Bartosz Golaszewski <bgolaszewski@baylibre•com>,
bskeggs@redhat•com, linux-pci@vger•kernel.org,
xen-devel@lists•xenproject.org,
Thierry Reding <treding@nvidia•com>,
intel-gfx@lists•freedesktop.org, matthew.auld@intel•com,
linux-devicetree <devicetree@vger•kernel.org>,
jxgao@google•com, daniel@ffwll•ch, Will Deacon <will@kernel•org>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle•com>,
maarten.lankhorst@linux•intel.com, airlied@linux•ie,
Dan Williams <dan.j.williams@intel•com>,
linuxppc-dev@lists•ozlabs.org, jani.nikula@linux•intel.com,
Rob Herring <robh+dt@kernel•org>,
rodrigo.vivi@intel•com, bhelgaas@google•com,
boris.ostrovsky@oracle•com,
Andy Shevchenko <andriy.shevchenko@linux•intel.com>,
jgross@suse•com, Nicolas Boichat <drinkcat@chromium•org>,
Greg KH <gregkh@linuxfoundation•org>,
Randy Dunlap <rdunlap@infradead•org>,
quic_qiancai@quicinc•com, lkml <linux-kernel@vger•kernel.org>,
tfiga@chromium•org,
"list@263•net:IOMMU DRIVERS" <iommu@lists•linux-foundation.org>,
Jim Quinlan <james.quinlan@broadcom•com>,
xypron.glpk@gmx•de, thomas.lendacky@amd•com,
Robin Murphy <robin.murphy@arm•com>,
bauerman@linux•ibm.com
Subject: Re: [PATCH v15 10/12] swiotlb: Add restricted DMA pool initialization
Date: Tue, 24 Aug 2021 07:26:01 -0700 [thread overview]
Message-ID: <20210824142601.GA3393158@roeck-us.net> (raw)
In-Reply-To: <20210624155526.2775863-11-tientzu@chromium.org>
Hi Claire,
On Thu, Jun 24, 2021 at 11:55:24PM +0800, Claire Chang wrote:
> Add the initialization function to create restricted DMA pools from
> matching reserved-memory nodes.
>
> Regardless of swiotlb setting, the restricted DMA pool is preferred if
> available.
>
> The restricted DMA pools provide a basic level of protection against the
> DMA overwriting buffer contents at unexpected times. However, to protect
> against general data leakage and system memory corruption, the system
> needs to provide a way to lock down the memory access, e.g., MPU.
>
> Signed-off-by: Claire Chang <tientzu@chromium•org>
> Reviewed-by: Christoph Hellwig <hch@lst•de>
> Tested-by: Stefano Stabellini <sstabellini@kernel•org>
> Tested-by: Will Deacon <will@kernel•org>
> ---
> include/linux/swiotlb.h | 3 +-
> kernel/dma/Kconfig | 14 ++++++++
> kernel/dma/swiotlb.c | 76 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 92 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index 3b9454d1e498..39284ff2a6cd 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -73,7 +73,8 @@ extern enum swiotlb_force swiotlb_force;
> * range check to see if the memory was in fact allocated by this
> * API.
> * @nslabs: The number of IO TLB blocks (in groups of 64) between @start and
> - * @end. This is command line adjustable via setup_io_tlb_npages.
> + * @end. For default swiotlb, this is command line adjustable via
> + * setup_io_tlb_npages.
> * @used: The number of used IO TLB block.
> * @list: The free list describing the number of free entries available
> * from each index.
> diff --git a/kernel/dma/Kconfig b/kernel/dma/Kconfig
> index 77b405508743..3e961dc39634 100644
> --- a/kernel/dma/Kconfig
> +++ b/kernel/dma/Kconfig
> @@ -80,6 +80,20 @@ config SWIOTLB
> bool
> select NEED_DMA_MAP_STATE
>
> +config DMA_RESTRICTED_POOL
> + bool "DMA Restricted Pool"
> + depends on OF && OF_RESERVED_MEM
> + select SWIOTLB
This makes SWIOTLB user configurable, which in turn results in
mips64-linux-ld: arch/mips/kernel/setup.o: in function `arch_mem_init':
setup.c:(.init.text+0x19c8): undefined reference to `plat_swiotlb_setup'
make[1]: *** [Makefile:1280: vmlinux] Error 1
when building mips:allmodconfig.
Should this possibly be "depends on SWIOTLB" ?
Thanks,
Guenter
next prev parent reply other threads:[~2021-08-24 14:26 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-24 15:55 [PATCH v15 00/12] Restricted DMA Claire Chang
2021-06-24 15:55 ` [PATCH v15 01/12] swiotlb: Refactor swiotlb init functions Claire Chang
2021-06-24 15:55 ` [PATCH v15 02/12] swiotlb: Refactor swiotlb_create_debugfs Claire Chang
2021-06-24 15:55 ` [PATCH v15 03/12] swiotlb: Set dev->dma_io_tlb_mem to the swiotlb pool used Claire Chang
2021-06-24 15:55 ` [PATCH v15 04/12] swiotlb: Update is_swiotlb_buffer to add a struct device argument Claire Chang
2021-06-24 15:55 ` [PATCH v15 05/12] swiotlb: Update is_swiotlb_active " Claire Chang
2021-06-24 15:55 ` [PATCH v15 06/12] swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing Claire Chang
2021-06-30 1:43 ` Nathan Chancellor
2021-06-30 9:17 ` Claire Chang
2021-06-30 11:43 ` Will Deacon
2021-06-30 15:56 ` Nathan Chancellor
2021-07-01 7:40 ` Will Deacon
2021-07-01 7:52 ` Nathan Chancellor
2021-07-02 13:58 ` Will Deacon
2021-07-02 15:13 ` Robin Murphy
2021-07-03 5:55 ` Nathan Chancellor
2021-07-05 7:29 ` Claire Chang
2021-07-05 18:25 ` Nathan Chancellor
2021-07-05 19:03 ` Will Deacon
2021-07-06 4:48 ` Christoph Hellwig
2021-07-06 13:24 ` Will Deacon
2021-07-06 14:01 ` Robin Murphy
2021-07-06 14:05 ` Christoph Hellwig
2021-07-06 14:46 ` Konrad Rzeszutek Wilk
2021-07-06 16:57 ` Will Deacon
2021-07-06 16:59 ` Konrad Rzeszutek Wilk
2021-07-12 13:56 ` Will Deacon
2021-07-14 0:06 ` Konrad Rzeszutek Wilk
2021-07-06 15:39 ` Robin Murphy
2021-07-06 17:06 ` Will Deacon
2021-07-06 19:14 ` Nathan Chancellor
2021-07-08 16:44 ` Will Deacon
2021-06-24 15:55 ` [PATCH v15 07/12] swiotlb: Move alloc_size to swiotlb_find_slots Claire Chang
2021-06-24 15:55 ` [PATCH v15 08/12] swiotlb: Refactor swiotlb_tbl_unmap_single Claire Chang
2021-06-24 15:55 ` [PATCH v15 09/12] swiotlb: Add restricted DMA alloc/free support Claire Chang
2021-06-24 15:55 ` [PATCH v15 10/12] swiotlb: Add restricted DMA pool initialization Claire Chang
2021-08-24 14:26 ` Guenter Roeck [this message]
2021-08-27 3:50 ` Claire Chang
2021-08-27 6:58 ` Andy Shevchenko
2021-06-24 15:55 ` [PATCH v15 11/12] dt-bindings: of: Add restricted DMA pool Claire Chang
2021-06-24 15:55 ` [PATCH v15 12/12] of: Add plumbing for " Claire Chang
2021-07-02 3:08 ` Guenter Roeck
2021-07-02 11:39 ` Robin Murphy
2021-07-02 13:18 ` Will Deacon
2021-07-02 13:48 ` Guenter Roeck
2021-06-24 19:19 ` [PATCH v15 00/12] Restricted DMA Konrad Rzeszutek Wilk
2021-06-25 0:41 ` Claire Chang
2021-06-25 12:30 ` Will Deacon
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=20210824142601.GA3393158@roeck-us.net \
--to=linux@roeck-us$(echo .)net \
--cc=airlied@linux$(echo .)ie \
--cc=andriy.shevchenko@linux$(echo .)intel.com \
--cc=bauerman@linux$(echo .)ibm.com \
--cc=bgolaszewski@baylibre$(echo .)com \
--cc=bhelgaas@google$(echo .)com \
--cc=boris.ostrovsky@oracle$(echo .)com \
--cc=bskeggs@redhat$(echo .)com \
--cc=chris@chris-wilson$(echo .)co.uk \
--cc=dan.j.williams@intel$(echo .)com \
--cc=daniel@ffwll$(echo .)ch \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=dri-devel@lists$(echo .)freedesktop.org \
--cc=drinkcat@chromium$(echo .)org \
--cc=frowand.list@gmail$(echo .)com \
--cc=grant.likely@arm$(echo .)com \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=hch@lst$(echo .)de \
--cc=heikki.krogerus@linux$(echo .)intel.com \
--cc=intel-gfx@lists$(echo .)freedesktop.org \
--cc=iommu@lists$(echo .)linux-foundation.org \
--cc=james.quinlan@broadcom$(echo .)com \
--cc=jani.nikula@linux$(echo .)intel.com \
--cc=jgross@suse$(echo .)com \
--cc=joonas.lahtinen@linux$(echo .)intel.com \
--cc=joro@8bytes$(echo .)org \
--cc=jxgao@google$(echo .)com \
--cc=konrad.wilk@oracle$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-pci@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=m.szyprowski@samsung$(echo .)com \
--cc=maarten.lankhorst@linux$(echo .)intel.com \
--cc=matthew.auld@intel$(echo .)com \
--cc=mingo@kernel$(echo .)org \
--cc=paulus@samba$(echo .)org \
--cc=peterz@infradead$(echo .)org \
--cc=quic_qiancai@quicinc$(echo .)com \
--cc=rafael.j.wysocki@intel$(echo .)com \
--cc=rdunlap@infradead$(echo .)org \
--cc=robh+dt@kernel$(echo .)org \
--cc=robin.murphy@arm$(echo .)com \
--cc=rodrigo.vivi@intel$(echo .)com \
--cc=saravanak@google$(echo .)com \
--cc=sstabellini@kernel$(echo .)org \
--cc=tfiga@chromium$(echo .)org \
--cc=thomas.hellstrom@linux$(echo .)intel.com \
--cc=thomas.lendacky@amd$(echo .)com \
--cc=tientzu@chromium$(echo .)org \
--cc=treding@nvidia$(echo .)com \
--cc=will@kernel$(echo .)org \
--cc=xen-devel@lists$(echo .)xenproject.org \
--cc=xypron.glpk@gmx$(echo .)de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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