2020-05-07 12:19:53

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the akpm-current tree

Hi all,

After merging the akpm-current tree, today's linux-next build (arm
collie_defconfig and many others) failed like this:

arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
kunmap_high(page);
^
arch/arm/mm/flush.c: In function '__flush_dcache_page':
arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
kunmap_high(page + i);
^

Caused by commit

6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")

kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2020-05-08 01:47:48

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the akpm-current tree

Hi all,

On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
>
> After merging the akpm-current tree, today's linux-next build (arm
> collie_defconfig and many others) failed like this:
>
> arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> kunmap_high(page);
> ^
> arch/arm/mm/flush.c: In function '__flush_dcache_page':
> arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> kunmap_high(page + i);
> ^
>
> Caused by commit
>
> 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
>
> kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.

Is there anything that can be done quickly about this as it broke a
large number of builds ...

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2020-05-08 02:10:13

by Andrew Morton

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the akpm-current tree

On Fri, 8 May 2020 11:43:38 +1000 Stephen Rothwell <[email protected]> wrote:

> Hi all,
>
> On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
> >
> > After merging the akpm-current tree, today's linux-next build (arm
> > collie_defconfig and many others) failed like this:
> >
> > arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> > arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > kunmap_high(page);
> > ^
> > arch/arm/mm/flush.c: In function '__flush_dcache_page':
> > arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > kunmap_high(page + i);
> > ^
> >
> > Caused by commit
> >
> > 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
> >
> > kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
>
> Is there anything that can be done quickly about this as it broke a
> large number of builds ...

This? It's based on Ira's v3 series but should work.


From: Andrew Morton <[email protected]>
Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix

fix CONFIG_HIGHMEM=n build on various architectures

Reported-by: Stephen Rothwell <[email protected]>
Cc: Ira Weiny <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

include/linux/highmem.h | 5 +++++
1 file changed, 5 insertions(+)

--- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
+++ a/include/linux/highmem.h
@@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
}

void kunmap_high(struct page *page);
+
static inline void kunmap(struct page *page)
{
might_sleep();
@@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
return page_address(page);
}

+static inline void kunmap_high(struct page *page)
+{
+}
+
static inline void kunmap(struct page *page)
{
}
_

2020-05-08 03:14:36

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the akpm-current tree

Hi Andrew,

On Thu, 7 May 2020 19:08:08 -0700 Andrew Morton <[email protected]> wrote:
>
> This? It's based on Ira's v3 series but should work.
>
>
> From: Andrew Morton <[email protected]>
> Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix
>
> fix CONFIG_HIGHMEM=n build on various architectures
>
> Reported-by: Stephen Rothwell <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> include/linux/highmem.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> --- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
> +++ a/include/linux/highmem.h
> @@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
> }
>
> void kunmap_high(struct page *page);
> +
> static inline void kunmap(struct page *page)
> {
> might_sleep();
> @@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
> return page_address(page);
> }
>
> +static inline void kunmap_high(struct page *page)
> +{
> +}
> +
> static inline void kunmap(struct page *page)
> {
> }
> _
>

Thanks, I have added that to linux-next today.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2020-05-08 14:53:11

by Ira Weiny

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the akpm-current tree

On Thu, May 07, 2020 at 07:08:08PM -0700, Andrew Morton wrote:
> On Fri, 8 May 2020 11:43:38 +1000 Stephen Rothwell <[email protected]> wrote:
>
> > Hi all,
> >
> > On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <[email protected]> wrote:
> > >
> > > After merging the akpm-current tree, today's linux-next build (arm
> > > collie_defconfig and many others) failed like this:
> > >
> > > arch/arm/mm/dma-mapping.c: In function 'dma_cache_maint_page':
> > > arch/arm/mm/dma-mapping.c:892:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > > kunmap_high(page);
> > > ^
> > > arch/arm/mm/flush.c: In function '__flush_dcache_page':
> > > arch/arm/mm/flush.c:221:6: error: implicit declaration of function 'kunmap_high' [-Werror=implicit-function-declaration]
> > > kunmap_high(page + i);
> > > ^
> > >
> > > Caused by commit
> > >
> > > 6b66ab470b4d ("arch/kunmap: remove duplicate kunmap implementations")
> > >
> > > kunmap_high() is now only declared when CONFIG_HIGHMEM is defined.
> >
> > Is there anything that can be done quickly about this as it broke a
> > large number of builds ...
>
> This? It's based on Ira's v3 series but should work.

Looks like arm is using kmap_high_get() internally which needs a
kunmap_high()...

>
>
> From: Andrew Morton <[email protected]>
> Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix
>
> fix CONFIG_HIGHMEM=n build on various architectures
>

Reviewed-by: Ira Weiny <[email protected]>

This should probably be squashed into that patch though...

Andrew do you want a V3.1?

Ira

> Reported-by: Stephen Rothwell <[email protected]>
> Cc: Ira Weiny <[email protected]>
> Signed-off-by: Andrew Morton <[email protected]>
> ---
>
> include/linux/highmem.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> --- a/include/linux/highmem.h~arch-kunmap-remove-duplicate-kunmap-implementations-fix
> +++ a/include/linux/highmem.h
> @@ -53,6 +53,7 @@ static inline void *kmap(struct page *pa
> }
>
> void kunmap_high(struct page *page);
> +
> static inline void kunmap(struct page *page)
> {
> might_sleep();
> @@ -111,6 +112,10 @@ static inline void *kmap(struct page *pa
> return page_address(page);
> }
>
> +static inline void kunmap_high(struct page *page)
> +{
> +}
> +
> static inline void kunmap(struct page *page)
> {
> }
> _
>

2020-05-08 21:33:24

by Andrew Morton

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the akpm-current tree

On Fri, 8 May 2020 07:51:23 -0700 Ira Weiny <[email protected]> wrote:

> This should probably be squashed into that patch though...
>
> Andrew do you want a V3.1?

Is OK, I'll always fold foo-fix.patch into foo.patch before sending it onwards.