From: Tianyu Lan <[email protected]>
HAS_IOMEM option may not be selected on some platforms(e.g, s390) and this
will cause compile error due to miss memremap() implementation. Fix it via
adding HAS_IOMEM check around memremap() in the swiotlb.c.
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Tianyu Lan <[email protected]>
---
kernel/dma/swiotlb.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index b36c1cdd0c4f..3de651ba38cc 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -167,6 +167,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
{
void *vaddr = NULL;
+#ifdef CONFIG_HAS_IOMEM
if (swiotlb_unencrypted_base) {
phys_addr_t paddr = mem->start + swiotlb_unencrypted_base;
@@ -175,6 +176,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
pr_err("Failed to map the unencrypted memory %pa size %lx.\n",
&paddr, bytes);
}
+#endif
return vaddr;
}
--
2.25.1
On Fri, Dec 31, 2021 at 11:56:40AM -0500, Tianyu Lan wrote:
> From: Tianyu Lan <[email protected]>
>
> HAS_IOMEM option may not be selected on some platforms(e.g, s390) and this
> will cause compile error due to miss memremap() implementation. Fix it via
miss -> missingk
> adding HAS_IOMEM check around memremap() in the swiotlb.c.
>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Tianyu Lan <[email protected]>
Hi Christoph
Are you happy with this fix?
Thanks,
Wei.
> ---
> kernel/dma/swiotlb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index b36c1cdd0c4f..3de651ba38cc 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -167,6 +167,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
> {
> void *vaddr = NULL;
>
> +#ifdef CONFIG_HAS_IOMEM
> if (swiotlb_unencrypted_base) {
> phys_addr_t paddr = mem->start + swiotlb_unencrypted_base;
>
> @@ -175,6 +176,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
> pr_err("Failed to map the unencrypted memory %pa size %lx.\n",
> &paddr, bytes);
> }
> +#endif
>
> return vaddr;
> }
> --
> 2.25.1
>
On Fri, Dec 31, 2021 at 11:56:40AM -0500, Tianyu Lan wrote:
> From: Tianyu Lan <[email protected]>
>
> HAS_IOMEM option may not be selected on some platforms(e.g, s390) and this
> will cause compile error due to miss memremap() implementation. Fix it via
> adding HAS_IOMEM check around memremap() in the swiotlb.c.
>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Tianyu Lan <[email protected]>
> ---
> kernel/dma/swiotlb.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index b36c1cdd0c4f..3de651ba38cc 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -167,6 +167,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
> {
> void *vaddr = NULL;
>
> +#ifdef CONFIG_HAS_IOMEM
Please stub out all of swiotlb_mem_remap instead of the ifdef inside the
function.
On Sun, Jan 02, 2022 at 11:54:46PM -0800, Christoph Hellwig wrote:
> On Fri, Dec 31, 2021 at 11:56:40AM -0500, Tianyu Lan wrote:
> > From: Tianyu Lan <[email protected]>
> >
> > HAS_IOMEM option may not be selected on some platforms(e.g, s390) and this
> > will cause compile error due to miss memremap() implementation. Fix it via
> > adding HAS_IOMEM check around memremap() in the swiotlb.c.
> >
> > Reported-by: kernel test robot <[email protected]>
> > Signed-off-by: Tianyu Lan <[email protected]>
> > ---
> > kernel/dma/swiotlb.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> > index b36c1cdd0c4f..3de651ba38cc 100644
> > --- a/kernel/dma/swiotlb.c
> > +++ b/kernel/dma/swiotlb.c
> > @@ -167,6 +167,7 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
> > {
> > void *vaddr = NULL;
> >
> > +#ifdef CONFIG_HAS_IOMEM
>
> Please stub out all of swiotlb_mem_remap instead of the ifdef inside the
> function.
Does this look okay to you?
---8<---
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index b36c1cdd0c4f..f1e7ea160b43 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -163,6 +163,7 @@ static inline unsigned long nr_slots(u64 val)
* when swiotlb_unencrypted_base is set. (e.g. for Hyper-V AMD SEV-SNP
* Isolation VMs).
*/
+#ifdef CONFIG_HAS_IOMEM
static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
{
void *vaddr = NULL;
@@ -178,6 +179,12 @@ static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
return vaddr;
}
+#else
+static void *swiotlb_mem_remap(struct io_tlb_mem *mem, unsigned long bytes)
+{
+ return NULL;
+}
+#endif
/*
* Early SWIOTLB allocation may be too early to allow an architecture to
On Tue, Jan 04, 2022 at 02:51:55PM +0000, Wei Liu wrote:
> > Please stub out all of swiotlb_mem_remap instead of the ifdef inside the
> > function.
>
> Does this look okay to you?
Yes, thanks!
On Tue, Jan 04, 2022 at 04:03:07PM +0100, Christoph Hellwig wrote:
> On Tue, Jan 04, 2022 at 02:51:55PM +0000, Wei Liu wrote:
> > > Please stub out all of swiotlb_mem_remap instead of the ifdef inside the
> > > function.
> >
> > Does this look okay to you?
>
> Yes, thanks!
Thanks for confirming!
I will turn this into an ack and apply the diff to hyperv-next.
Wei.