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 ;-)

Reply via email to