2023-01-21 14:35:10

by Yoann Congal

[permalink] [raw]
Subject: [PATCH v2 1/3] Documentation: kprobetrace: Fix some typos

* Uncapitalise tracepoint
* Hyphen in *-based
* Plurals
* fetch-args -> fetchargs
* 2bytes -> 2-bytes
* .. -> .
* arch -> architecture

Signed-off-by: Yoann Congal <[email protected]>
---
Documentation/trace/kprobetrace.rst | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/Documentation/trace/kprobetrace.rst b/Documentation/trace/kprobetrace.rst
index 08a2a6a3782f0..1eb2c68aa0a71 100644
--- a/Documentation/trace/kprobetrace.rst
+++ b/Documentation/trace/kprobetrace.rst
@@ -6,16 +6,16 @@ Kprobe-based Event Tracing

Overview
--------
-These events are similar to tracepoint based events. Instead of Tracepoint,
+These events are similar to tracepoint-based events. Instead of tracepoints,
this is based on kprobes (kprobe and kretprobe). So it can probe wherever
kprobes can probe (this means, all functions except those with
__kprobes/nokprobe_inline annotation and those marked NOKPROBE_SYMBOL).
-Unlike the Tracepoint based event, this can be added and removed
+Unlike the tracepoint-based event, this can be added and removed
dynamically, on the fly.

To enable this feature, build your kernel with CONFIG_KPROBE_EVENTS=y.

-Similar to the events tracer, this doesn't need to be activated via
+Similar to the event tracer, this doesn't need to be activated via
current_tracer. Instead of that, add probe points via
/sys/kernel/debug/tracing/kprobe_events, and enable it via
/sys/kernel/debug/tracing/events/kprobes/<EVENT>/enable.
@@ -68,7 +68,7 @@ Synopsis of kprobe_events

Types
-----
-Several types are supported for fetch-args. Kprobe tracer will access memory
+Several types are supported for fetchargs. Kprobe tracer will access memory
by given type. Prefix 's' and 'u' means those types are signed and unsigned
respectively. 'x' prefix implies it is unsigned. Traced arguments are shown
in decimal ('s' and 'u') or hexadecimal ('x'). Without type casting, 'x32'
@@ -76,14 +76,15 @@ or 'x64' is used depends on the architecture (e.g. x86-32 uses x32, and
x86-64 uses x64).
These value types can be an array. To record array data, you can add '[N]'
(where N is a fixed number, less than 64) to the base type.
-E.g. 'x16[4]' means an array of x16 (2bytes hex) with 4 elements.
+E.g. 'x16[4]' means an array of x16 (2-bytes hex) with 4 elements.
Note that the array can be applied to memory type fetchargs, you can not
apply it to registers/stack-entries etc. (for example, '$stack1:x8[8]' is
wrong, but '+8($stack):x8[8]' is OK.)
String type is a special type, which fetches a "null-terminated" string from
kernel space. This means it will fail and store NULL if the string container
has been paged out. "ustring" type is an alternative of string for user-space.
-See :ref:`user_mem_access` for more info..
+See :ref:`user_mem_access` for more info.
+
The string array type is a bit different from other types. For other base
types, <base-type>[1] is equal to <base-type> (e.g. +0(%di):x32[1] is same
as +0(%di):x32.) But string[1] is not equal to string. The string type itself
@@ -120,8 +121,8 @@ space. 'ustring' is a shortcut way of performing the same task. That is,

Note that kprobe-event provides the user-memory access syntax but it doesn't
use it transparently. This means if you use normal dereference or string type
-for user memory, it might fail, and may always fail on some archs. The user
-has to carefully check if the target data is in kernel or user space.
+for user memory, it might fail, and may always fail on some architectures. The
+user has to carefully check if the target data is in kernel or user space.

Per-Probe Event Filtering
-------------------------
--
2.30.2


2023-01-21 17:35:42

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] Documentation: kprobetrace: Fix some typos

On Sat, 21 Jan 2023 15:31:08 +0100
Yoann Congal <[email protected]> wrote:

> @@ -76,14 +76,15 @@ or 'x64' is used depends on the architecture (e.g. x86-32 uses x32, and
> x86-64 uses x64).
> These value types can be an array. To record array data, you can add '[N]'
> (where N is a fixed number, less than 64) to the base type.
> -E.g. 'x16[4]' means an array of x16 (2bytes hex) with 4 elements.
> +E.g. 'x16[4]' means an array of x16 (2-bytes hex) with 4 elements.

As we are correcting this, let's correct it correctly ;-)

Adjectives do not turn into plurals. It's "2-byte hex" not "2-bytes hex".

Thanks,

-- Steve


> Note that the array can be applied to memory type fetchargs, you can not
> apply it to registers/stack-entries etc. (for example, '$stack1:x8[8]' is
> wrong, but '+8($stack):x8[8]' is OK.)
> String type is a special type, which fetches a "null-terminated" string from
> kernel space. This means it will fail and store NULL if the string container
> has been paged out. "ustring" type is an alternative of string for user-space.
> -See :ref:`user_mem_access` for more info..
> +See :ref:`user_mem_access` for more info.
> +
> The string array type is a bit different from other types. For other base
> types, <base-type>[1] is equal to <base-type> (e.g. +0(%di):x32[1] is same
> as +0(%di):x32.) But string[1] is not equal to string. The string type itself
> @@ -120,8 +121,8 @@ space. 'ustring' is a shortcut way of performing the same task. That is,
>
> Note that kprobe-event provides the user-memory access syntax but it doesn't
> use it transparently. This means if you use normal dereference or string type
> -for user memory, it might fail, and may always fail on some archs. The user
> -has to carefully check if the target data is in kernel or user space.
> +for user memory, it might fail, and may always fail on some architectures. The
> +user has to carefully check if the target data is in kernel or user space.
>
> Per-Probe Event Filtering
> -------------------------
> --

2023-01-21 23:01:08

by Yoann Congal

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] Documentation: kprobetrace: Fix some typos

On 1/21/23 18:25, Steven Rostedt wrote:> On Sat, 21 Jan 2023 15:31:08 +0100
> Yoann Congal <[email protected]> wrote:
>
>> @@ -76,14 +76,15 @@ or 'x64' is used depends on the architecture
(e.g. x86-32 uses x32, and
>> x86-64 uses x64).
>> These value types can be an array. To record array data, you can
add '[N]'
>> (where N is a fixed number, less than 64) to the base type.
>> -E.g. 'x16[4]' means an array of x16 (2bytes hex) with 4 elements.
>> +E.g. 'x16[4]' means an array of x16 (2-bytes hex) with 4 elements.
>
> As we are correcting this, let's correct it correctly ;-)
>
> Adjectives do not turn into plurals. It's "2-byte hex" not "2-bytes hex".
Ok! Will fix and send a v3.

Thanks!
--
Yoann Congal
Smile ECS - Tech Expert