On Thu, May 07, 2020 at 07:08:08PM -0700, Andrew Morton wrote: > On Fri, 8 May 2020 11:43:38 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > Hi all, > > > > On Thu, 7 May 2020 22:17:21 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 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 <akpm@xxxxxxxxxxxxxxxxxxxx> > Subject: arch-kunmap-remove-duplicate-kunmap-implementations-fix > > fix CONFIG_HIGHMEM=n build on various architectures > Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> This should probably be squashed into that patch though... Andrew do you want a V3.1? Ira > Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Cc: Ira Weiny <ira.weiny@xxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > 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) > { > } > _ >