lockdep: Move list.h inclusion into lockdep.h
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 16 Jul 2020 06:36:50 +0000 (16:36 +1000)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 16 Jul 2020 21:19:51 +0000 (23:19 +0200)
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
include/linux/lockdep.h
include/linux/lockdep_types.h

index fd04b9e960919ac91f262548457c9c3c6708355c..7aafba0ddcf9d139aa1b3a84bf9c9ab357367e49 100644 (file)
@@ -22,6 +22,7 @@ extern int lock_stat;
 #ifdef CONFIG_LOCKDEP
 
 #include <linux/linkage.h>
+#include <linux/list.h>
 #include <linux/debug_locks.h>
 #include <linux/stacktrace.h>
 
index 7b9350624577cdf0492ef22e4303cbc2f63fc710..bb35b449f5330f29a7175fe79d3312fc7e345c3a 100644 (file)
@@ -32,8 +32,6 @@ enum lockdep_wait_type {
 
 #ifdef CONFIG_LOCKDEP
 
-#include <linux/list.h>
-
 /*
  * We'd rather not expose kernel/lockdep_states.h this wide, but we do need
  * the total number of states... :-(