Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

lockdep: Move list.h inclusion into lockdep.h

Currently lockdep_types.h includes list.h without actually using any
of its macros or functions. All it needs are the type definitions
which were moved into types.h long ago. This potentially causes
inclusion loops because both are included by many core header
files.

This patch moves the list.h inclusion into lockdep.h. Note that
we could probably remove it completely but that could potentially
result in compile failures should any end users not include list.h
directly and also be unlucky enough to not get list.h via some other
header file.

Reported-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Petr Mladek <pmladek@suse.com>
Link: https://lkml.kernel.org/r/20200716063649.GA23065@gondor.apana.org.au

authored by

Herbert Xu and committed by
Peter Zijlstra
5be542e9 f9ad4a5f

+1 -2
+1
include/linux/lockdep.h
··· 22 22 #ifdef CONFIG_LOCKDEP 23 23 24 24 #include <linux/linkage.h> 25 + #include <linux/list.h> 25 26 #include <linux/debug_locks.h> 26 27 #include <linux/stacktrace.h> 27 28
-2
include/linux/lockdep_types.h
··· 32 32 33 33 #ifdef CONFIG_LOCKDEP 34 34 35 - #include <linux/list.h> 36 - 37 35 /* 38 36 * We'd rather not expose kernel/lockdep_states.h this wide, but we do need 39 37 * the total number of states... :-(