On Thu, 22 Jul 2021 03:18:42 +0100 "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx> wrote: > There is lots of good documentation in highmem.h that isn't being pulled > into the html documentation. Fix up a couple of minor glitches and > include it. > > --- a/include/linux/highmem.h > +++ b/include/linux/highmem.h > > ... > > @@ -156,6 +156,7 @@ static inline void *kmap_atomic(struct page *page); > * the side effects of kmap_atomic(), i.e. reenabling pagefaults and > * preemption. > */ > +static inline void kunmap_atomic(void *addr); > > /* Highmem related interfaces for management code */ > static inline unsigned int nr_free_highpages(void); This hunk broke the i386 allmodconfig build. In file included from ./include/linux/highmem.h:14, from ./include/linux/bio.h:8, from ./include/linux/blkdev.h:18, from ./include/linux/blk-cgroup.h:23, from ./include/linux/writeback.h:14, from ./include/linux/memcontrol.h:22, from ./include/linux/swap.h:9, from ./include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: ./include/linux/highmem-internal.h:216:1: error: expected identifier or '(' before 'do' 216 | do { \ | ^~ ./include/linux/highmem.h:122:20: note: in expansion of macro 'kunmap_atomic' 122 | static inline void kunmap_atomic(void *addr); | ^~~~~~~~~~~~~ ./include/linux/highmem-internal.h:219:3: error: expected identifier or '(' before 'while' 219 | } while (0) | ^~~~~ ./include/linux/highmem.h:122:20: note: in expansion of macro 'kunmap_atomic' 122 | static inline void kunmap_atomic(void *addr); | ^~~~~~~~~~~~~ make[1]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1 make: *** [Makefile:1213: prepare0] Error 2 I think I can see what you were trying to do there. How about we instead move the kunmap_atomic() kerneldoc to an appropriate place?