linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [for-next][PATCH 00/14] tracing: More updates for 5.6
@ 2020-01-24 15:16 Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 01/14] ring-bufer: kernel-doc warning fixes Steven Rostedt
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton

Alex Shi (5):
      ftrace: Remove abandoned macros
      ftrace: Remove NR_TO_INIT macro
      ring-buffer: Remove abandoned macro RB_MISSED_FLAGS
      tracing: Remove unused TRACE_SEQ_BUF_USED
      trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE

Colin Ian King (1):
      tools: bootconfig: Fix spelling mistake "faile" -> "failed"

Dan Carpenter (1):
      tracing/boot: Fix an IS_ERR() vs NULL bug

Fabian Frederick (1):
      ring-bufer: kernel-doc warning fixes

Masami Hiramatsu (3):
      bootconfig: Fix Kconfig help message for BOOT_CONFIG
      Documentation: bootconfig: Fix typos in bootconfig documentation
      Documentation: tracing: Fix typos in boot-time tracing documentation

Steven Rostedt (VMware) (3):
      ring-buffer: Fix kernel doc for rb_update_event()
      tracing: Allow trace_printk() to nest in other tracing code
      tracing: Fix uninitialized buffer var on early exit to trace_vbprintk()

----
 Documentation/admin-guide/bootconfig.rst | 32 +++++++++++++++++---------------
 Documentation/trace/boottime-trace.rst   | 18 +++++++++---------
 init/Kconfig                             |  4 +++-
 kernel/trace/ftrace.c                    |  5 -----
 kernel/trace/ring_buffer.c               | 11 ++++++-----
 kernel/trace/trace.c                     | 27 +++++++++++++++++++++------
 kernel/trace/trace_boot.c                |  2 +-
 kernel/trace/trace_kprobe.c              |  1 -
 kernel/trace/trace_seq.c                 |  3 ---
 tools/bootconfig/main.c                  |  4 ++--
 10 files changed, 59 insertions(+), 48 deletions(-)

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

* [for-next][PATCH 01/14] ring-bufer: kernel-doc warning fixes
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 02/14] ring-buffer: Fix kernel doc for rb_update_event() Steven Rostedt
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Fabian Frederick

From: Fabian Frederick <fabf@skynet.be>

Also fixes a couple of typos

Link: http://lkml.kernel.org/r/1401992525-10417-1-git-send-email-fabf@skynet.be

Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Fabian Frederick <fabf@skynet.be>
[ Found this deep in the abyss of my INBOX ]
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ring_buffer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index f846de2aa435..46d67ff68795 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -1368,6 +1368,7 @@ static void rb_free_cpu_buffer(struct ring_buffer_per_cpu *cpu_buffer)
  * __ring_buffer_alloc - allocate a new ring_buffer
  * @size: the size in bytes per cpu that is needed.
  * @flags: attributes to set for the ring buffer.
+ * @key: ring buffer reader_lock_key.
  *
  * Currently the only flag that is available is the RB_FL_OVERWRITE
  * flag. This flag means that the buffer will overwrite old data
@@ -4331,6 +4332,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_read);
 /**
  * ring_buffer_size - return the size of the ring buffer (in bytes)
  * @buffer: The ring buffer.
+ * @cpu: The CPU to get ring buffer size from.
  */
 unsigned long ring_buffer_size(struct trace_buffer *buffer, int cpu)
 {
@@ -4504,6 +4506,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_empty_cpu);
  * ring_buffer_swap_cpu - swap a CPU buffer between two ring buffers
  * @buffer_a: One buffer to swap with
  * @buffer_b: The other buffer to swap with
+ * @cpu: the CPU of the buffers to swap
  *
  * This function is useful for tracers that want to take a "snapshot"
  * of a CPU buffer and has another back up buffer lying around.
-- 
2.24.1



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

* [for-next][PATCH 02/14] ring-buffer: Fix kernel doc for rb_update_event()
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 01/14] ring-bufer: kernel-doc warning fixes Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 03/14] tracing: Allow trace_printk() to nest in other tracing code Steven Rostedt
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

rb_update_event has changed without the kernel-doc update.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ring_buffer.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 46d67ff68795..3bab9b0a90b6 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -2331,11 +2331,11 @@ static inline bool rb_event_is_commit(struct ring_buffer_per_cpu *cpu_buffer,
 
 /**
  * rb_update_event - update event type and data
+ * @cpu_buffer: The per cpu buffer of the @event
  * @event: the event to update
- * @type: the type of event
- * @length: the size of the event field in the ring buffer
+ * @info: The info to update the @event with (contains length and delta)
  *
- * Update the type and data fields of the event. The length
+ * Update the type and data fields of the @event. The length
  * is the actual size that is written to the ring buffer,
  * and with this, we can determine what to place into the
  * data field.
-- 
2.24.1



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

* [for-next][PATCH 03/14] tracing: Allow trace_printk() to nest in other tracing code
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 01/14] ring-bufer: kernel-doc warning fixes Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 02/14] ring-buffer: Fix kernel doc for rb_update_event() Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 04/14] ftrace: Remove abandoned macros Steven Rostedt
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

trace_printk() is used to debug the kernel which includes the tracing
infrastructure. But because it writes to the ring buffer, and so does much
of the tracing infrastructure, the ring buffer's recursive detection will
drop writes to the ring buffer that is in the same context as the current
write is happening (it allows interrupts to write when normal context is
writing, but wont let normal context write while normal context is writing).

This can cause confusion and think that the code is where the trace_printk()
exists is not hit. To solve this, up the recursive nesting of the ring
buffer when trace_printk() is called before it writes to the buffer itself.

Note, this does make it dangerous to use trace_printk() in the ring buffer
code itself, because this basically disables the recursion protection of
trace_printk() buffer writes. But as trace_printk() is only used for
debugging, and if this does occur, the developer will see the cause real
quick (recursive blowing up of the stack). Thus the developer can deal with
that. But having trace_printk() silently ignored is a much bigger problem,
and disabling recursive protection is a small price to pay to fix it.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 106bbc0988fe..2e1db19dce97 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -866,10 +866,13 @@ int __trace_puts(unsigned long ip, const char *str, int size)
 
 	local_save_flags(irq_flags);
 	buffer = global_trace.array_buffer.buffer;
+	ring_buffer_nest_start(buffer);
 	event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc, 
 					    irq_flags, pc);
-	if (!event)
-		return 0;
+	if (!event) {
+		size = 0;
+		goto out;
+	}
 
 	entry = ring_buffer_event_data(event);
 	entry->ip = ip;
@@ -885,7 +888,8 @@ int __trace_puts(unsigned long ip, const char *str, int size)
 
 	__buffer_unlock_commit(buffer, event);
 	ftrace_trace_stack(&global_trace, buffer, irq_flags, 4, pc, NULL);
-
+ out:
+	ring_buffer_nest_end(buffer);
 	return size;
 }
 EXPORT_SYMBOL_GPL(__trace_puts);
@@ -902,6 +906,7 @@ int __trace_bputs(unsigned long ip, const char *str)
 	struct bputs_entry *entry;
 	unsigned long irq_flags;
 	int size = sizeof(struct bputs_entry);
+	int ret = 0;
 	int pc;
 
 	if (!(global_trace.trace_flags & TRACE_ITER_PRINTK))
@@ -914,10 +919,12 @@ int __trace_bputs(unsigned long ip, const char *str)
 
 	local_save_flags(irq_flags);
 	buffer = global_trace.array_buffer.buffer;
+
+	ring_buffer_nest_start(buffer);
 	event = __trace_buffer_lock_reserve(buffer, TRACE_BPUTS, size,
 					    irq_flags, pc);
 	if (!event)
-		return 0;
+		goto out;
 
 	entry = ring_buffer_event_data(event);
 	entry->ip			= ip;
@@ -926,7 +933,10 @@ int __trace_bputs(unsigned long ip, const char *str)
 	__buffer_unlock_commit(buffer, event);
 	ftrace_trace_stack(&global_trace, buffer, irq_flags, 4, pc, NULL);
 
-	return 1;
+	ret = 1;
+ out:
+	ring_buffer_nest_end(buffer);
+	return ret;
 }
 EXPORT_SYMBOL_GPL(__trace_bputs);
 
@@ -3225,6 +3235,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args)
 	local_save_flags(flags);
 	size = sizeof(*entry) + sizeof(u32) * len;
 	buffer = tr->array_buffer.buffer;
+	ring_buffer_nest_start(buffer);
 	event = __trace_buffer_lock_reserve(buffer, TRACE_BPRINT, size,
 					    flags, pc);
 	if (!event)
@@ -3240,6 +3251,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args)
 	}
 
 out:
+	ring_buffer_nest_end(buffer);
 	put_trace_buf();
 
 out_nobuffer:
@@ -3282,6 +3294,7 @@ __trace_array_vprintk(struct trace_buffer *buffer,
 
 	local_save_flags(flags);
 	size = sizeof(*entry) + len + 1;
+	ring_buffer_nest_start(buffer);
 	event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, size,
 					    flags, pc);
 	if (!event)
@@ -3296,6 +3309,7 @@ __trace_array_vprintk(struct trace_buffer *buffer,
 	}
 
 out:
+	ring_buffer_nest_end(buffer);
 	put_trace_buf();
 
 out_nobuffer:
-- 
2.24.1



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

* [for-next][PATCH 04/14] ftrace: Remove abandoned macros
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (2 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 03/14] tracing: Allow trace_printk() to nest in other tracing code Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 05/14] ftrace: Remove NR_TO_INIT macro Steven Rostedt
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Alex Shi

From: Alex Shi <alex.shi@linux.alibaba.com>

These 2 macros aren't used from commit eee8ded131f1 ("ftrace: Have the
function probes call their own function"), so remove them.

Link: http://lkml.kernel.org/r/1579585807-43316-1-git-send-email-alex.shi@linux.alibaba.com

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ftrace.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 3f0ae07e72ef..7fe87c7ab1a8 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -62,8 +62,6 @@
 	})
 
 /* hash bits for specific function selection */
-#define FTRACE_HASH_BITS 7
-#define FTRACE_FUNC_HASHSIZE (1 << FTRACE_HASH_BITS)
 #define FTRACE_HASH_DEFAULT_BITS 10
 #define FTRACE_HASH_MAX_BITS 12
 
-- 
2.24.1



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

* [for-next][PATCH 05/14] ftrace: Remove NR_TO_INIT macro
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (3 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 04/14] ftrace: Remove abandoned macros Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 06/14] bootconfig: Fix Kconfig help message for BOOT_CONFIG Steven Rostedt
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Alex Shi

From: Alex Shi <alex.shi@linux.alibaba.com>

This macro isn't used from commit cb7be3b2fc2c ("ftrace: remove
daemon"). So no needs to keep it.

Link: http://lkml.kernel.org/r/1579586063-44984-1-git-send-email-alex.shi@linux.alibaba.com

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ftrace.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 7fe87c7ab1a8..5c701765da5b 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1101,9 +1101,6 @@ struct ftrace_page {
 #define ENTRY_SIZE sizeof(struct dyn_ftrace)
 #define ENTRIES_PER_PAGE (PAGE_SIZE / ENTRY_SIZE)
 
-/* estimate from running different kernels */
-#define NR_TO_INIT		10000
-
 static struct ftrace_page	*ftrace_pages_start;
 static struct ftrace_page	*ftrace_pages;
 
-- 
2.24.1



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

* [for-next][PATCH 06/14] bootconfig: Fix Kconfig help message for BOOT_CONFIG
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (4 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 05/14] ftrace: Remove NR_TO_INIT macro Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 07/14] Documentation: bootconfig: Fix typos in bootconfig documentation Steven Rostedt
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Randy Dunlap, Masami Hiramatsu

From: Masami Hiramatsu <mhiramat@kernel.org>

Fix Kconfig help message since the bootconfig file is
only available to be appended to initramfs. And also
add a reference to the documentation.

Link: http://lkml.kernel.org/r/157949058031.25888.18399447161895787505.stgit@devnote2

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 init/Kconfig | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/init/Kconfig b/init/Kconfig
index ffd240fb88c3..9506299a53e3 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1223,7 +1223,9 @@ config BOOT_CONFIG
 	help
 	  Extra boot config allows system admin to pass a config file as
 	  complemental extension of kernel cmdline when booting.
-	  The boot config file is usually attached at the end of initramfs.
+	  The boot config file must be attached at the end of initramfs
+	  with checksum and size.
+	  See <file:Documentation/admin-guide/bootconfig.rst> for details.
 
 	  If unsure, say Y.
 
-- 
2.24.1



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

* [for-next][PATCH 07/14] Documentation: bootconfig: Fix typos in bootconfig documentation
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (5 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 06/14] bootconfig: Fix Kconfig help message for BOOT_CONFIG Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:16 ` [for-next][PATCH 08/14] Documentation: tracing: Fix typos in boot-time tracing documentation Steven Rostedt
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Randy Dunlap, Masami Hiramatsu

From: Masami Hiramatsu <mhiramat@kernel.org>

Fix typos in bootconfig.rst according to Randy's suggestions.

Link: http://lkml.kernel.org/r/157949059219.25888.16939971423610233631.stgit@devnote2

Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 Documentation/admin-guide/bootconfig.rst | 32 +++++++++++++-----------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/Documentation/admin-guide/bootconfig.rst b/Documentation/admin-guide/bootconfig.rst
index c8f7cd4cf44e..4d617693c0c8 100644
--- a/Documentation/admin-guide/bootconfig.rst
+++ b/Documentation/admin-guide/bootconfig.rst
@@ -11,20 +11,22 @@ Boot Configuration
 Overview
 ========
 
-The boot configuration is expanding current kernel cmdline to support
-additional key-value data when boot the kernel in an efficient way.
-This allows adoministrators to pass a structured-Key config file.
+The boot configuration expands the current kernel command line to support
+additional key-value data when booting the kernel in an efficient way.
+This allows administrators to pass a structured-Key config file.
 
 Config File Syntax
 ==================
 
 The boot config syntax is a simple structured key-value. Each key consists
-of dot-connected-words, and key and value are connected by "=". The value
+of dot-connected-words, and key and value are connected by ``=``. The value
 has to be terminated by semi-colon (``;``) or newline (``\n``).
 For array value, array entries are separated by comma (``,``). ::
 
 KEY[.WORD[...]] = VALUE[, VALUE2[...]][;]
 
+Unlike the kernel command line syntax, spaces are OK around the comma and ``=``.
+
 Each key word must contain only alphabets, numbers, dash (``-``) or underscore
 (``_``). And each value only contains printable characters or spaces except
 for delimiters such as semi-colon (``;``), new-line (``\n``), comma (``,``),
@@ -35,7 +37,7 @@ quotes (``"VALUE"``) or single-quotes (``'VALUE'``) to quote it. Note that
 you can not escape these quotes.
 
 There can be a key which doesn't have value or has an empty value. Those keys
-are used for checking the key exists or not (like a boolean).
+are used for checking if the key exists or not (like a boolean).
 
 Key-Value Syntax
 ----------------
@@ -63,7 +65,7 @@ at boot time. So you can append similar trees or key-values.
 Comments
 --------
 
-The config syntax accepts shell-script style comments. The comments start
+The config syntax accepts shell-script style comments. The comments starting
 with hash ("#") until newline ("\n") will be ignored.
 
 ::
@@ -108,7 +110,7 @@ update the boot loader and the kernel image itself.
 
 To do this operation, Linux kernel provides "bootconfig" command under
 tools/bootconfig, which allows admin to apply or delete the config file
-to/from initrd image. You can build it by follwoing command::
+to/from initrd image. You can build it by the following command::
 
  # make -C tools/bootconfig
 
@@ -122,7 +124,7 @@ To remove the config from the image, you can use -d option as below::
  # tools/bootconfig/bootconfig -d /boot/initrd.img-X.Y.Z
 
 
-C onfig File Limitation
+Config File Limitation
 ======================
 
 Currently the maximum config size size is 32KB and the total key-words (not
@@ -145,10 +147,10 @@ User can query or loop on key-value pairs, also it is possible to find
 a root (prefix) key node and find key-values under that node.
 
 If you have a key string, you can query the value directly with the key
-using xbc_find_value(). If you want to know what keys exist in the SKC
-tree, you can use xbc_for_each_key_value() to iterate key-value pairs.
+using xbc_find_value(). If you want to know what keys exist in the boot
+config, you can use xbc_for_each_key_value() to iterate key-value pairs.
 Note that you need to use xbc_array_for_each_value() for accessing
-each arraies value, e.g.::
+each array's value, e.g.::
 
  vnode = NULL;
  xbc_find_value("key.word", &vnode);
@@ -157,8 +159,8 @@ each arraies value, e.g.::
       printk("%s ", value);
     }
 
-If you want to focus on keys which has a prefix string, you can use
-xbc_find_node() to find a node which prefix key words, and iterate
+If you want to focus on keys which have a prefix string, you can use
+xbc_find_node() to find a node by the prefix string, and iterate
 keys under the prefix node with xbc_node_for_each_key_value().
 
 But the most typical usage is to get the named value under prefix
@@ -174,8 +176,8 @@ or get the named array under prefix as below::
 This accesses a value of "key.prefix.option" and an array of
 "key.prefix.array-option".
 
-Locking is not needed, since after initialized, the config becomes readonly.
-All data and keys must be copied if you need to modify it.
+Locking is not needed, since after initialization, the config becomes
+read-only. All data and keys must be copied if you need to modify it.
 
 
 Functions and structures
-- 
2.24.1



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

* [for-next][PATCH 08/14] Documentation: tracing: Fix typos in boot-time tracing documentation
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (6 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 07/14] Documentation: bootconfig: Fix typos in bootconfig documentation Steven Rostedt
@ 2020-01-24 15:16 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 09/14] tools: bootconfig: Fix spelling mistake "faile" -> "failed" Steven Rostedt
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Randy Dunlap, Masami Hiramatsu

From: Masami Hiramatsu <mhiramat@kernel.org>

Fix typos in boottime-trace.rst according to Randy's suggestions.

Link: http://lkml.kernel.org/r/157949060335.25888.13153184562531693684.stgit@devnote2

Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 Documentation/trace/boottime-trace.rst | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/Documentation/trace/boottime-trace.rst b/Documentation/trace/boottime-trace.rst
index 1d10fdebf1b2..dcb390075ca1 100644
--- a/Documentation/trace/boottime-trace.rst
+++ b/Documentation/trace/boottime-trace.rst
@@ -13,7 +13,7 @@ Boot-time tracing allows users to trace boot-time process including
 device initialization with full features of ftrace including per-event
 filter and actions, histograms, kprobe-events and synthetic-events,
 and trace instances.
-Since kernel cmdline is not enough to control these complex features,
+Since kernel command line is not enough to control these complex features,
 this uses bootconfig file to describe tracing feature programming.
 
 Options in the Boot Config
@@ -21,7 +21,7 @@ Options in the Boot Config
 
 Here is the list of available options list for boot time tracing in
 boot config file [1]_. All options are under "ftrace." or "kernel."
-refix. See kernel parameters for the options which starts
+prefix. See kernel parameters for the options which starts
 with "kernel." prefix [2]_.
 
 .. [1] See :ref:`Documentation/admin-guide/bootconfig.rst <bootconfig>`
@@ -50,7 +50,7 @@ kernel.fgraph_filters = FILTER[, FILTER2...]
    Add fgraph tracing function filters.
 
 kernel.fgraph_notraces = FILTER[, FILTER2...]
-   Add fgraph non tracing function filters.
+   Add fgraph non-tracing function filters.
 
 
 Ftrace Per-instance Options
@@ -81,10 +81,10 @@ ftrace.[instance.INSTANCE.]tracer = TRACER
    Set TRACER to current tracer on boot. (e.g. function)
 
 ftrace.[instance.INSTANCE.]ftrace.filters
-   This will take an array of tracing function filter rules
+   This will take an array of tracing function filter rules.
 
 ftrace.[instance.INSTANCE.]ftrace.notraces
-   This will take an array of NON-tracing function filter rules
+   This will take an array of NON-tracing function filter rules.
 
 
 Ftrace Per-Event Options
@@ -93,7 +93,7 @@ Ftrace Per-Event Options
 These options are setting per-event options.
 
 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.enable
-   Enables GROUP:EVENT tracing.
+   Enable GROUP:EVENT tracing.
 
 ftrace.[instance.INSTANCE.]event.GROUP.EVENT.filter = FILTER
    Set FILTER rule to the GROUP:EVENT.
@@ -145,10 +145,10 @@ below::
         }
   }
 
-Also, boottime tracing supports "instance" node, which allows us to run
+Also, boot-time tracing supports "instance" node, which allows us to run
 several tracers for different purpose at once. For example, one tracer
-is for tracing functions start with "user\_", and others tracing "kernel\_"
-functions, you can write boot config as below::
+is for tracing functions starting with "user\_", and others tracing
+"kernel\_" functions, you can write boot config as below::
 
   ftrace.instance {
         foo {
-- 
2.24.1



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

* [for-next][PATCH 09/14] tools: bootconfig: Fix spelling mistake "faile" -> "failed"
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (7 preceding siblings ...)
  2020-01-24 15:16 ` [for-next][PATCH 08/14] Documentation: tracing: Fix typos in boot-time tracing documentation Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 10/14] ring-buffer: Remove abandoned macro RB_MISSED_FLAGS Steven Rostedt
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Masami Hiramatsu, Colin Ian King

From: Colin Ian King <colin.king@canonical.com>

There are two spelling mistakes in printf statements, fix these.

Link: http://lkml.kernel.org/r/20200116092206.52192-1-colin.king@canonical.com

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 tools/bootconfig/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/bootconfig/main.c b/tools/bootconfig/main.c
index b8f174fd2a0a..91c9a5c0c499 100644
--- a/tools/bootconfig/main.c
+++ b/tools/bootconfig/main.c
@@ -140,7 +140,7 @@ int load_xbc_from_initrd(int fd, char **buf)
 		return 0;
 
 	if (lseek(fd, -8, SEEK_END) < 0) {
-		printf("Faile to lseek: %d\n", -errno);
+		printf("Failed to lseek: %d\n", -errno);
 		return -errno;
 	}
 
@@ -155,7 +155,7 @@ int load_xbc_from_initrd(int fd, char **buf)
 		return 0;
 
 	if (lseek(fd, stat.st_size - 8 - size, SEEK_SET) < 0) {
-		printf("Faile to lseek: %d\n", -errno);
+		printf("Failed to lseek: %d\n", -errno);
 		return -errno;
 	}
 
-- 
2.24.1



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

* [for-next][PATCH 10/14] ring-buffer: Remove abandoned macro RB_MISSED_FLAGS
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (8 preceding siblings ...)
  2020-01-24 15:17 ` [for-next][PATCH 09/14] tools: bootconfig: Fix spelling mistake "faile" -> "failed" Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 11/14] tracing: Remove unused TRACE_SEQ_BUF_USED Steven Rostedt
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Alex Shi

From: Alex Shi <alex.shi@linux.alibaba.com>

This macro isn't used since commit d325c402964e ("ring-buffer: Remove
unused function ring_buffer_page_len()"), so better to remove it.

Link: http://lkml.kernel.org/r/1579586080-45300-1-git-send-email-alex.shi@linux.alibaba.com

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ring_buffer.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 3bab9b0a90b6..61f0e92ace99 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -300,8 +300,6 @@ u64 ring_buffer_event_time_stamp(struct ring_buffer_event *event)
 /* Missed count stored at end */
 #define RB_MISSED_STORED	(1 << 30)
 
-#define RB_MISSED_FLAGS		(RB_MISSED_EVENTS|RB_MISSED_STORED)
-
 struct buffer_data_page {
 	u64		 time_stamp;	/* page time stamp */
 	local_t		 commit;	/* write committed index */
-- 
2.24.1



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

* [for-next][PATCH 11/14] tracing: Remove unused TRACE_SEQ_BUF_USED
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (9 preceding siblings ...)
  2020-01-24 15:17 ` [for-next][PATCH 10/14] ring-buffer: Remove abandoned macro RB_MISSED_FLAGS Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 12/14] tracing/boot: Fix an IS_ERR() vs NULL bug Steven Rostedt
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Alex Shi

From: Alex Shi <alex.shi@linux.alibaba.com>

This macro isn't used from commit 3a161d99c43c ("tracing: Create
seq_buf layer in trace_seq"). so no needs to keep it.

Link: http://lkml.kernel.org/r/1579586086-45543-1-git-send-email-alex.shi@linux.alibaba.com

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_seq.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/kernel/trace/trace_seq.c b/kernel/trace/trace_seq.c
index 87de6edafd14..1d84fcc78e3e 100644
--- a/kernel/trace/trace_seq.c
+++ b/kernel/trace/trace_seq.c
@@ -30,9 +30,6 @@
 /* How much buffer is left on the trace_seq? */
 #define TRACE_SEQ_BUF_LEFT(s) seq_buf_buffer_left(&(s)->seq)
 
-/* How much buffer is written? */
-#define TRACE_SEQ_BUF_USED(s) seq_buf_used(&(s)->seq)
-
 /*
  * trace_seq should work with being initialized with 0s.
  */
-- 
2.24.1



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

* [for-next][PATCH 12/14] tracing/boot: Fix an IS_ERR() vs NULL bug
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (10 preceding siblings ...)
  2020-01-24 15:17 ` [for-next][PATCH 11/14] tracing: Remove unused TRACE_SEQ_BUF_USED Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 13/14] tracing: Fix uninitialized buffer var on early exit to trace_vbprintk() Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 14/14] trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE Steven Rostedt
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Masami Hiramatsu, Dan Carpenter

From: Dan Carpenter <dan.carpenter@oracle.com>

The trace_array_get_by_name() function doesn't return error pointers,
it returns NULL on error.

Link: http://lkml.kernel.org/r/20200117053007.5h2juv272pokqhtq@kili.mountain

Fixes: 4f712a4d04a4 ("tracing/boot: Add instance node support")
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_boot.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
index fa9603dc6469..cd541ac1cbc1 100644
--- a/kernel/trace/trace_boot.c
+++ b/kernel/trace/trace_boot.c
@@ -322,7 +322,7 @@ trace_boot_init_instances(struct xbc_node *node)
 			continue;
 
 		tr = trace_array_get_by_name(p);
-		if (IS_ERR(tr)) {
+		if (!tr) {
 			pr_err("Failed to get trace instance %s\n", p);
 			continue;
 		}
-- 
2.24.1



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

* [for-next][PATCH 13/14] tracing: Fix uninitialized buffer var on early exit to trace_vbprintk()
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (11 preceding siblings ...)
  2020-01-24 15:17 ` [for-next][PATCH 12/14] tracing/boot: Fix an IS_ERR() vs NULL bug Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  2020-01-24 15:17 ` [for-next][PATCH 14/14] trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE Steven Rostedt
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, kbuild test robot

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

If we exit due to a bad input to trace_printk() (highly unlikely), then the
buffer variable will not be initialized when we unnest the ring buffer.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 2e1db19dce97..d1410b4462ac 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3230,7 +3230,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args)
 	len = vbin_printf((u32 *)tbuffer, TRACE_BUF_SIZE/sizeof(int), fmt, args);
 
 	if (len > TRACE_BUF_SIZE/sizeof(int) || len < 0)
-		goto out;
+		goto out_put;
 
 	local_save_flags(flags);
 	size = sizeof(*entry) + sizeof(u32) * len;
@@ -3252,6 +3252,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args)
 
 out:
 	ring_buffer_nest_end(buffer);
+out_put:
 	put_trace_buf();
 
 out_nobuffer:
-- 
2.24.1



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

* [for-next][PATCH 14/14] trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE
  2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
                   ` (12 preceding siblings ...)
  2020-01-24 15:17 ` [for-next][PATCH 13/14] tracing: Fix uninitialized buffer var on early exit to trace_vbprintk() Steven Rostedt
@ 2020-01-24 15:17 ` Steven Rostedt
  13 siblings, 0 replies; 15+ messages in thread
From: Steven Rostedt @ 2020-01-24 15:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Masami Hiramatsu, Alex Shi

From: Alex Shi <alex.shi@linux.alibaba.com>

This limitation are never lunched from introduce commit 970988e19eb0
("tracing/kprobe: Add kprobe_event= boot parameter")

Could we remove it if no intention to implement it?

Link: http://lkml.kernel.org/r/1579586075-45132-1-git-send-email-alex.shi@linux.alibaba.com

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace_kprobe.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 283b7c437440..bf20cd7f2666 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -22,7 +22,6 @@
 
 #define KPROBE_EVENT_SYSTEM "kprobes"
 #define KRETPROBE_MAXACTIVE_MAX 4096
-#define MAX_KPROBE_CMDLINE_SIZE 1024
 
 /* Kprobe early definition from command line */
 static char kprobe_boot_events_buf[COMMAND_LINE_SIZE] __initdata;
-- 
2.24.1



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

end of thread, other threads:[~2020-01-24 15:18 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-24 15:16 [for-next][PATCH 00/14] tracing: More updates for 5.6 Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 01/14] ring-bufer: kernel-doc warning fixes Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 02/14] ring-buffer: Fix kernel doc for rb_update_event() Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 03/14] tracing: Allow trace_printk() to nest in other tracing code Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 04/14] ftrace: Remove abandoned macros Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 05/14] ftrace: Remove NR_TO_INIT macro Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 06/14] bootconfig: Fix Kconfig help message for BOOT_CONFIG Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 07/14] Documentation: bootconfig: Fix typos in bootconfig documentation Steven Rostedt
2020-01-24 15:16 ` [for-next][PATCH 08/14] Documentation: tracing: Fix typos in boot-time tracing documentation Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 09/14] tools: bootconfig: Fix spelling mistake "faile" -> "failed" Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 10/14] ring-buffer: Remove abandoned macro RB_MISSED_FLAGS Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 11/14] tracing: Remove unused TRACE_SEQ_BUF_USED Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 12/14] tracing/boot: Fix an IS_ERR() vs NULL bug Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 13/14] tracing: Fix uninitialized buffer var on early exit to trace_vbprintk() Steven Rostedt
2020-01-24 15:17 ` [for-next][PATCH 14/14] trace/kprobe: Remove unused MAX_KPROBE_CMDLINE_SIZE Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).