All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] kallsyms header cleanup
@ 2015-04-14  0:27 Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 1/7] tracing: Remove kallsyms.h include from linux/ftrace.h Tom Zanussi
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

During review of an unrelated patchset, the question was asked why
module.h was included in code that wouldn't be a module and didn't do
anything with modules [1].

The reason is that it uses kallsyms defines, but kallsyms.h doesn't
include module.h, though it should because it uses MODULE_NAME_LEN.
The code in question also didn't include kallsyms.h but relied on
ftrace.h to pull it in.  But ftrace.h no longer contains anything that
needs kallsyms.h, and continues to include it only because other code
expects it to.

This patchset is the start of cleaning all that up.  It also adds
explicit kallsyms.h includes and removes module.h includes for obvious
cases in kernel/trace and lib/, where I happened to be working.

There are a bunch of other files that probably include module.h only
for kallsyms, but I haven't gone through them yet.  I can either
resubmit this patchset after looking at all those, or can submit a
follow-on patchset to this one assuming this is best way to do it...

[1] https://lkml.org/lkml/2015/4/4/70

Changes from v1:
 - added KSYM_SYMBOL_LEN patches for fnic and slub
 - separated tracing changes into KSYM_SYMBOL_LEN-only module.h changes 
 - fixed up bogus lib change from previous patchset
 - separate patch to remove unnecessary tracing kallsyms.h and module.h usage

The following changes since commit 3cfb2f7976a2f9cfe48eda4e6d7e4ce74fee09e3:

  Merge tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci (2015-04-09 10:17:44 -0700)

are available in the git repository at:


  git://git.yoctoproject.org/linux-yocto-contrib.git tzanussi/kallsyms-header-cleanup-v2
  http://git.yoctoproject.org/cgit.cgi//log/?h=kallsyms-v2

Tom Zanussi (7):
  tracing: Remove kallsyms.h include from linux/ftrace.h
  kallsyms: Add module.h include
  tracing: Remove redundant module.h includes
  lib: Remove redundant module.h includes
  fnic: Remove redundant module.h includes
  slub: Remove redundant module.h includes
  tracing: Remove unnecessary kallsyms.h and module.h includes

 drivers/scsi/fnic/fnic_trace.c    | 1 -
 include/linux/ftrace.h            | 1 -
 include/linux/kallsyms.h          | 1 +
 kernel/trace/trace.c              | 2 --
 kernel/trace/trace_branch.c       | 2 --
 kernel/trace/trace_export.c       | 2 --
 kernel/trace/trace_irqsoff.c      | 2 --
 kernel/trace/trace_kprobe.c       | 1 +
 kernel/trace/trace_output.c       | 2 +-
 kernel/trace/trace_sched_switch.c | 2 --
 kernel/trace/trace_sched_wakeup.c | 2 --
 kernel/trace/trace_stack.c        | 2 --
 kernel/trace/trace_syscalls.c     | 2 +-
 lib/vsprintf.c                    | 1 -
 mm/slub.c                         | 1 -
 15 files changed, 4 insertions(+), 20 deletions(-)

-- 
1.9.3


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/7] tracing: Remove kallsyms.h include from linux/ftrace.h
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 2/7] kallsyms: Add module.h include Tom Zanussi
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

kallsyms.h was included by ftrace.h for KSYM_NAME_LEN, but that usage
was removed by commit 3f5ec13696f [tracing/fastboot: move boot tracer
structs and funcs into their own header].

Remove kallsyms.h and have users relying on ftrace.h to include it for
them include it explicitly.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 include/linux/ftrace.h        | 1 -
 kernel/trace/trace_kprobe.c   | 1 +
 kernel/trace/trace_output.c   | 1 +
 kernel/trace/trace_syscalls.c | 1 +
 4 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 1da6029..8554dd5 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -7,7 +7,6 @@
 #define _LINUX_FTRACE_H
 
 #include <linux/trace_clock.h>
-#include <linux/kallsyms.h>
 #include <linux/linkage.h>
 #include <linux/bitops.h>
 #include <linux/ptrace.h>
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index d73f565..52abd46 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -18,6 +18,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/kallsyms.h>
 #include <linux/uaccess.h>
 
 #include "trace_probe.h"
diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 692bf71..135dbd5 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -6,6 +6,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/kallsyms.h>
 #include <linux/mutex.h>
 #include <linux/ftrace.h>
 
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
index f97f6e3..3cb7355 100644
--- a/kernel/trace/trace_syscalls.c
+++ b/kernel/trace/trace_syscalls.c
@@ -4,6 +4,7 @@
 #include <linux/slab.h>
 #include <linux/kernel.h>
 #include <linux/module.h>	/* for MODULE_NAME_LEN via KSYM_SYMBOL_LEN */
+#include <linux/kallsyms.h>
 #include <linux/ftrace.h>
 #include <linux/perf_event.h>
 #include <asm/syscall.h>
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/7] kallsyms: Add module.h include
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 1/7] tracing: Remove kallsyms.h include from linux/ftrace.h Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 3/7] tracing: Remove redundant module.h includes Tom Zanussi
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

KSYM_SYMBOL_LEN uses MODULE_NAME_LEN defined in module.h, so include
module.h so users don't have to.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 include/linux/kallsyms.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index 6883e19..e1550a4 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -8,6 +8,7 @@
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/stddef.h>
+#include <linux/module.h>
 
 #define KSYM_NAME_LEN 128
 #define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 3/7] tracing: Remove redundant module.h includes
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 1/7] tracing: Remove kallsyms.h include from linux/ftrace.h Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 2/7] kallsyms: Add module.h include Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 4/7] lib: " Tom Zanussi
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

kallsyms.h now includes module.h, so remove module.h includes that
were apparently there only to satisfy kallsyms use of MODULE_NAME_LEN
(via KSYM_SYMBOL_LEN).

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 kernel/trace/trace_output.c   | 1 -
 kernel/trace/trace_syscalls.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
index 135dbd5..7cc8e96 100644
--- a/kernel/trace/trace_output.c
+++ b/kernel/trace/trace_output.c
@@ -5,7 +5,6 @@
  *
  */
 
-#include <linux/module.h>
 #include <linux/kallsyms.h>
 #include <linux/mutex.h>
 #include <linux/ftrace.h>
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
index 3cb7355..da74ff7 100644
--- a/kernel/trace/trace_syscalls.c
+++ b/kernel/trace/trace_syscalls.c
@@ -3,7 +3,6 @@
 #include <linux/syscalls.h>
 #include <linux/slab.h>
 #include <linux/kernel.h>
-#include <linux/module.h>	/* for MODULE_NAME_LEN via KSYM_SYMBOL_LEN */
 #include <linux/kallsyms.h>
 #include <linux/ftrace.h>
 #include <linux/perf_event.h>
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 4/7] lib: Remove redundant module.h includes
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
                   ` (2 preceding siblings ...)
  2015-04-14  0:27 ` [PATCH v2 3/7] tracing: Remove redundant module.h includes Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 5/7] fnic: " Tom Zanussi
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

kallsyms.h now includes module.h, so remove module.h includes that
were apparently there only to satisfy kallsyms use of MODULE_NAME_LEN
(via KSYM_SYMBOL_LEN).

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 lib/vsprintf.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index b235c96..c748b95 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -17,7 +17,6 @@
  */
 
 #include <stdarg.h>
-#include <linux/module.h>	/* for KSYM_SYMBOL_LEN */
 #include <linux/types.h>
 #include <linux/string.h>
 #include <linux/ctype.h>
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 5/7] fnic: Remove redundant module.h includes
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
                   ` (3 preceding siblings ...)
  2015-04-14  0:27 ` [PATCH v2 4/7] lib: " Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 6/7] slub: " Tom Zanussi
  2015-04-14  0:27 ` [PATCH v2 7/7] tracing: Remove unnecessary kallsyms.h and " Tom Zanussi
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

kallsyms.h now includes module.h, so remove module.h includes that
were apparently there only to satisfy kallsyms use of MODULE_NAME_LEN
(via KSYM_SYMBOL_LEN).

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 drivers/scsi/fnic/fnic_trace.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/scsi/fnic/fnic_trace.c b/drivers/scsi/fnic/fnic_trace.c
index 65a9bde..98311e4 100644
--- a/drivers/scsi/fnic/fnic_trace.c
+++ b/drivers/scsi/fnic/fnic_trace.c
@@ -15,7 +15,6 @@
  * SOFTWARE.
  */
 
-#include <linux/module.h>
 #include <linux/mempool.h>
 #include <linux/errno.h>
 #include <linux/spinlock.h>
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 6/7] slub: Remove redundant module.h includes
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
                   ` (4 preceding siblings ...)
  2015-04-14  0:27 ` [PATCH v2 5/7] fnic: " Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  2015-04-14  0:46   ` David Rientjes
  2015-04-14  0:27 ` [PATCH v2 7/7] tracing: Remove unnecessary kallsyms.h and " Tom Zanussi
  6 siblings, 1 reply; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

kallsyms.h now includes module.h, so remove module.h includes that
were apparently there only to satisfy kallsyms use of MODULE_NAME_LEN
(via KSYM_SYMBOL_LEN).

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 mm/slub.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mm/slub.c b/mm/slub.c
index 82c4737..f2b6711 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -11,7 +11,6 @@
 
 #include <linux/mm.h>
 #include <linux/swap.h> /* struct reclaim_state */
-#include <linux/module.h>
 #include <linux/bit_spinlock.h>
 #include <linux/interrupt.h>
 #include <linux/bitops.h>
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 7/7] tracing: Remove unnecessary kallsyms.h and module.h includes
  2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
                   ` (5 preceding siblings ...)
  2015-04-14  0:27 ` [PATCH v2 6/7] slub: " Tom Zanussi
@ 2015-04-14  0:27 ` Tom Zanussi
  6 siblings, 0 replies; 9+ messages in thread
From: Tom Zanussi @ 2015-04-14  0:27 UTC (permalink / raw)
  To: rostedt; +Cc: pebolle, hiralpat, hishah, linux-kernel, Tom Zanussi

At some point, these files made use of something from kallsyms.h
and/or module.h, but they now use nothing from either and can be
removed.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 kernel/trace/trace.c              | 2 --
 kernel/trace/trace_branch.c       | 2 --
 kernel/trace/trace_export.c       | 2 --
 kernel/trace/trace_irqsoff.c      | 2 --
 kernel/trace/trace_sched_switch.c | 2 --
 kernel/trace/trace_sched_wakeup.c | 2 --
 kernel/trace/trace_stack.c        | 2 --
 7 files changed, 14 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 62c6506..5479ce7 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -15,7 +15,6 @@
 #include <generated/utsrelease.h>
 #include <linux/stacktrace.h>
 #include <linux/writeback.h>
-#include <linux/kallsyms.h>
 #include <linux/seq_file.h>
 #include <linux/notifier.h>
 #include <linux/irqflags.h>
@@ -26,7 +25,6 @@
 #include <linux/uaccess.h>
 #include <linux/kprobes.h>
 #include <linux/ftrace.h>
-#include <linux/module.h>
 #include <linux/percpu.h>
 #include <linux/splice.h>
 #include <linux/kdebug.h>
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c
index 57cbf1e..965b6f3 100644
--- a/kernel/trace/trace_branch.c
+++ b/kernel/trace/trace_branch.c
@@ -3,12 +3,10 @@
  *
  * Copyright (C) 2008 Steven Rostedt <srostedt@redhat.com>
  */
-#include <linux/kallsyms.h>
 #include <linux/seq_file.h>
 #include <linux/spinlock.h>
 #include <linux/irqflags.h>
 #include <linux/uaccess.h>
-#include <linux/module.h>
 #include <linux/ftrace.h>
 #include <linux/hash.h>
 #include <linux/fs.h>
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c
index 12e2b99..ddf8d06 100644
--- a/kernel/trace/trace_export.c
+++ b/kernel/trace/trace_export.c
@@ -4,11 +4,9 @@
  * Copyright (C) 2009 Steven Rostedt <srostedt@redhat.com>
  */
 #include <linux/stringify.h>
-#include <linux/kallsyms.h>
 #include <linux/seq_file.h>
 #include <linux/uaccess.h>
 #include <linux/ftrace.h>
-#include <linux/module.h>
 #include <linux/init.h>
 
 #include "trace_output.h"
diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
index 8523ea3..f65f596 100644
--- a/kernel/trace/trace_irqsoff.c
+++ b/kernel/trace/trace_irqsoff.c
@@ -9,9 +9,7 @@
  *  Copyright (C) 2004-2006 Ingo Molnar
  *  Copyright (C) 2004 Nadia Yvette Chambers
  */
-#include <linux/kallsyms.h>
 #include <linux/uaccess.h>
-#include <linux/module.h>
 #include <linux/ftrace.h>
 
 #include "trace.h"
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index 419ca37..e1793f2 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -4,8 +4,6 @@
  * Copyright (C) 2007 Steven Rostedt <srostedt@redhat.com>
  *
  */
-#include <linux/module.h>
-#include <linux/kallsyms.h>
 #include <linux/uaccess.h>
 #include <linux/ftrace.h>
 #include <trace/events/sched.h>
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index d6e1003..9dd1d57 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -9,8 +9,6 @@
  *  Copyright (C) 2004-2006 Ingo Molnar
  *  Copyright (C) 2004 Nadia Yvette Chambers
  */
-#include <linux/module.h>
-#include <linux/kallsyms.h>
 #include <linux/uaccess.h>
 #include <linux/ftrace.h>
 #include <linux/sched/rt.h>
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
index c3e4fcf..405ce8b 100644
--- a/kernel/trace/trace_stack.c
+++ b/kernel/trace/trace_stack.c
@@ -3,12 +3,10 @@
  *
  */
 #include <linux/stacktrace.h>
-#include <linux/kallsyms.h>
 #include <linux/seq_file.h>
 #include <linux/spinlock.h>
 #include <linux/uaccess.h>
 #include <linux/ftrace.h>
-#include <linux/module.h>
 #include <linux/sysctl.h>
 #include <linux/init.h>
 
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 6/7] slub: Remove redundant module.h includes
  2015-04-14  0:27 ` [PATCH v2 6/7] slub: " Tom Zanussi
@ 2015-04-14  0:46   ` David Rientjes
  0 siblings, 0 replies; 9+ messages in thread
From: David Rientjes @ 2015-04-14  0:46 UTC (permalink / raw)
  To: Tom Zanussi; +Cc: rostedt, pebolle, hiralpat, hishah, linux-kernel

On Mon, 13 Apr 2015, Tom Zanussi wrote:

> kallsyms.h now includes module.h, so remove module.h includes that
> were apparently there only to satisfy kallsyms use of MODULE_NAME_LEN
> (via KSYM_SYMBOL_LEN).
> 
> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>

Acked-by: David Rientjes <rientjes@google.com>

This seems fine for slub.  The series is based on Linus's latest tree and 
doesn't apply at all to linux-next, so you may want to rebase it after the 
4.1 merge window.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-04-14  0:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-14  0:27 [PATCH v2 0/7] kallsyms header cleanup Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 1/7] tracing: Remove kallsyms.h include from linux/ftrace.h Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 2/7] kallsyms: Add module.h include Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 3/7] tracing: Remove redundant module.h includes Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 4/7] lib: " Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 5/7] fnic: " Tom Zanussi
2015-04-14  0:27 ` [PATCH v2 6/7] slub: " Tom Zanussi
2015-04-14  0:46   ` David Rientjes
2015-04-14  0:27 ` [PATCH v2 7/7] tracing: Remove unnecessary kallsyms.h and " Tom Zanussi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.