On Wed, Jul 22, 2020 at 11:40:13AM -0700, Linus Torvalds wrote: > On Wed, Jul 22, 2020 at 7:11 AM Matthew Wilcox <[email protected]> wrote: > > > > XArray updates for 5.8 > > > > - Fix the test suite after introduction of the local_lock > > What? No. > > Now you broke the actual kernel build: > > In file included from ./include/linux/local_lock.h:5, > from ./include/linux/radix-tree.h:14, > from ./include/linux/idr.h:15, > from lib/idr.c:5: > ./include/linux/local_lock_internal.h: In function ‘local_lock_acquire’: > ./include/linux/local_lock_internal.h:41:13: error: ‘current’ > undeclared (first use in this function) > 41 | l->owner = current; > | ^~~~~~~ > ./include/linux/local_lock_internal.h:41:13: note: each undeclared > identifier is reported only once for each function it appears in > > How the hell did you not see this, and why did you think it was a good > idea to mess with kernel headers and make them alphabetically ordered?
Ah, crap. I was building without CONFIG_DEBUG_LOCK_ALLOC, so I didn't see this. But I think the real problem is that local_lock_internal.h doesn't include <linux/sched.h>. Header files shouldn't depend on other headers to be included first. > Headers need to be ordered by _contents_, not by some "sort alphabetically". > > Do you sort your bookcases by color and size of the book too? By author, typically ;-)

