<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/trace, branch v5.8-rc2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://www.git.shady.money/linux/atom?h=v5.8-rc2</id>
<link rel='self' href='https://www.git.shady.money/linux/atom?h=v5.8-rc2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/'/>
<updated>2020-06-20T20:17:47Z</updated>
<entry>
<title>Merge tag 'trace-v5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace</title>
<updated>2020-06-20T20:17:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-06-20T20:17:47Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=8b6ddd10d678bebec32381f71b6b420bafc43ad0'/>
<id>urn:sha1:8b6ddd10d678bebec32381f71b6b420bafc43ad0</id>
<content type='text'>
Pull tracing fixes from Steven Rostedt:

 - Have recordmcount work with &gt; 64K sections (to support LTO)

 - kprobe RCU fixes

 - Correct a kprobe critical section with missing mutex

 - Remove redundant arch_disarm_kprobe() call

 - Fix lockup when kretprobe triggers within kprobe_flush_task()

 - Fix memory leak in fetch_op_data operations

 - Fix sleep in atomic in ftrace trace array sample code

 - Free up memory on failure in sample trace array code

 - Fix incorrect reporting of function_graph fields in format file

 - Fix quote within quote parsing in bootconfig

 - Fix return value of bootconfig tool

 - Add testcases for bootconfig tool

 - Fix maybe uninitialized warning in ftrace pid file code

 - Remove unused variable in tracing_iter_reset()

 - Fix some typos

* tag 'trace-v5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  ftrace: Fix maybe-uninitialized compiler warning
  tools/bootconfig: Add testcase for show-command and quotes test
  tools/bootconfig: Fix to return 0 if succeeded to show the bootconfig
  tools/bootconfig: Fix to use correct quotes for value
  proc/bootconfig: Fix to use correct quotes for value
  tracing: Remove unused event variable in tracing_iter_reset
  tracing/probe: Fix memleak in fetch_op_data operations
  trace: Fix typo in allocate_ftrace_ops()'s comment
  tracing: Make ftrace packed events have align of 1
  sample-trace-array: Remove trace_array 'sample-instance'
  sample-trace-array: Fix sleeping function called from invalid context
  kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
  kprobes: Remove redundant arch_disarm_kprobe() call
  kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
  kprobes: Use non RCU traversal APIs on kprobe_tables if possible
  kprobes: Suppress the suspicious RCU warning on kprobes
  recordmcount: support &gt;64k sections
</content>
</entry>
<entry>
<title>Merge tag 'block-5.8-2020-06-19' of git://git.kernel.dk/linux-block</title>
<updated>2020-06-19T20:11:26Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-06-19T20:11:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=d2b1c81f5f6c3427bd900be5fed306ca83d649d4'/>
<id>urn:sha1:d2b1c81f5f6c3427bd900be5fed306ca83d649d4</id>
<content type='text'>
Pull block fixes from Jens Axboe:

 - Use import_uuid() where appropriate (Andy)

 - bcache fixes (Coly, Mauricio, Zhiqiang)

 - blktrace sparse warnings fix (Jan)

 - blktrace concurrent setup fix (Luis)

 - blkdev_get use-after-free fix (Jason)

 - Ensure all blk-mq maps are updated (Weiping)

 - Loop invalidate bdev fix (Zheng)

* tag 'block-5.8-2020-06-19' of git://git.kernel.dk/linux-block:
  block: make function 'kill_bdev' static
  loop: replace kill_bdev with invalidate_bdev
  partitions/ldm: Replace uuid_copy() with import_uuid() where it makes sense
  block: update hctx map when use multiple maps
  blktrace: Avoid sparse warnings when assigning q-&gt;blk_trace
  blktrace: break out of blktrace setup on concurrent calls
  block: Fix use-after-free in blkdev_get()
  trace/events/block.h: drop kernel-doc for dropped function parameter
  blk-mq: Remove redundant 'return' statement
  bcache: pr_info() format clean up in bcache_device_init()
  bcache: use delayed kworker fo asynchronous devices registration
  bcache: check and adjust logical block size for backing devices
  bcache: fix potential deadlock problem in btree_gc_coalesce
</content>
</entry>
<entry>
<title>Merge branch 'hch' (maccess patches from Christoph Hellwig)</title>
<updated>2020-06-18T19:35:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-06-18T19:35:51Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=5e857ce6eae7ca21b2055cca4885545e29228fe2'/>
<id>urn:sha1:5e857ce6eae7ca21b2055cca4885545e29228fe2</id>
<content type='text'>
Merge non-faulting memory access cleanups from Christoph Hellwig:
 "Andrew and I decided to drop the patches implementing your suggested
  rename of the probe_kernel_* and probe_user_* helpers from -mm as
  there were way to many conflicts.

  After -rc1 might be a good time for this as all the conflicts are
  resolved now"

This also adds a type safety checking patch on top of the renaming
series to make the subtle behavioral difference between 'get_user()' and
'get_kernel_nofault()' less potentially dangerous and surprising.

* emailed patches from Christoph Hellwig &lt;hch@lst.de&gt;:
  maccess: make get_kernel_nofault() check for minimal type compatibility
  maccess: rename probe_kernel_address to get_kernel_nofault
  maccess: rename probe_user_{read,write} to copy_{from,to}_user_nofault
  maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault
</content>
</entry>
<entry>
<title>ftrace: Fix maybe-uninitialized compiler warning</title>
<updated>2020-06-17T21:13:18Z</updated>
<author>
<name>Kaitao Cheng</name>
<email>pilgrimtao@gmail.com</email>
</author>
<published>2020-05-29T14:12:14Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=026bb845b0fff6dec91fe24511dad7d3067dc3ed'/>
<id>urn:sha1:026bb845b0fff6dec91fe24511dad7d3067dc3ed</id>
<content type='text'>
During build compiler reports some 'false positive' warnings about
variables {'seq_ops', 'filtered_pids', 'other_pids'} may be used
uninitialized. This patch silences these warnings.
Also delete some useless spaces

Link: https://lkml.kernel.org/r/20200529141214.37648-1-pilgrimtao@gmail.com

Signed-off-by: Kaitao Cheng &lt;pilgrimtao@gmail.com&gt;
Signed-off-by: Steven Rostedt (VMware) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>maccess: rename probe_user_{read,write} to copy_{from,to}_user_nofault</title>
<updated>2020-06-17T17:57:41Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2020-06-17T07:37:54Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=c0ee37e85e0e47402b8bbe35b6cec8e06937ca58'/>
<id>urn:sha1:c0ee37e85e0e47402b8bbe35b6cec8e06937ca58</id>
<content type='text'>
Better describe what these functions do.

Suggested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault</title>
<updated>2020-06-17T17:57:41Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2020-06-17T07:37:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=fe557319aa06c23cffc9346000f119547e0f289a'/>
<id>urn:sha1:fe557319aa06c23cffc9346000f119547e0f289a</id>
<content type='text'>
Better describe what these functions do.

Suggested-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>blktrace: Avoid sparse warnings when assigning q-&gt;blk_trace</title>
<updated>2020-06-17T15:07:11Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2020-06-05T14:58:37Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=c3dbe541ef77754729de5e82be2d6e5d267c6c8c'/>
<id>urn:sha1:c3dbe541ef77754729de5e82be2d6e5d267c6c8c</id>
<content type='text'>
Mostly for historical reasons, q-&gt;blk_trace is assigned through xchg()
and cmpxchg() atomic operations. Although this is correct, sparse
complains about this because it violates rcu annotations since commit
c780e86dd48e ("blktrace: Protect q-&gt;blk_trace with RCU") which started
to use rcu for accessing q-&gt;blk_trace. Furthermore there's no real need
for atomic operations anymore since all changes to q-&gt;blk_trace happen
under q-&gt;blk_trace_mutex and since it also makes more sense to check if
q-&gt;blk_trace is set with the mutex held earlier.

So let's just replace xchg() with rcu_replace_pointer() and cmpxchg()
with explicit check and rcu_assign_pointer(). This makes the code more
efficient and sparse happy.

Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>blktrace: break out of blktrace setup on concurrent calls</title>
<updated>2020-06-17T15:07:11Z</updated>
<author>
<name>Luis Chamberlain</name>
<email>mcgrof@kernel.org</email>
</author>
<published>2020-06-05T14:58:36Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=1b0b283648163dae2a214ca28ed5a99f62a77319'/>
<id>urn:sha1:1b0b283648163dae2a214ca28ed5a99f62a77319</id>
<content type='text'>
We use one blktrace per request_queue, that means one per the entire
disk.  So we cannot run one blktrace on say /dev/vda and then /dev/vda1,
or just two calls on /dev/vda.

We check for concurrent setup only at the very end of the blktrace setup though.

If we try to run two concurrent blktraces on the same block device the
second one will fail, and the first one seems to go on. However when
one tries to kill the first one one will see things like this:

The kernel will show these:

```
debugfs: File 'dropped' in directory 'nvme1n1' already present!
debugfs: File 'msg' in directory 'nvme1n1' already present!
debugfs: File 'trace0' in directory 'nvme1n1' already present!
``

And userspace just sees this error message for the second call:

```
blktrace /dev/nvme1n1
BLKTRACESETUP(2) /dev/nvme1n1 failed: 5/Input/output error
```

The first userspace process #1 will also claim that the files
were taken underneath their nose as well. The files are taken
away form the first process given that when the second blktrace
fails, it will follow up with a BLKTRACESTOP and BLKTRACETEARDOWN.
This means that even if go-happy process #1 is waiting for blktrace
data, we *have* been asked to take teardown the blktrace.

This can easily be reproduced with break-blktrace [0] run_0005.sh test.

Just break out early if we know we're already going to fail, this will
prevent trying to create the files all over again, which we know still
exist.

[0] https://github.com/mcgrof/break-blktrace

Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Reviewed-by: Bart Van Assche &lt;bvanassche@acm.org&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>tracing: Remove unused event variable in tracing_iter_reset</title>
<updated>2020-06-17T01:21:03Z</updated>
<author>
<name>YangHui</name>
<email>yanghui.def@gmail.com</email>
</author>
<published>2020-06-16T03:36:46Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=69243720c0932b8672e571a873c78bcf3326575a'/>
<id>urn:sha1:69243720c0932b8672e571a873c78bcf3326575a</id>
<content type='text'>
We do not use the event variable, just remove it.

Signed-off-by: YangHui &lt;yanghui.def@gmail.com&gt;
Signed-off-by: Steven Rostedt (VMware) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing/probe: Fix memleak in fetch_op_data operations</title>
<updated>2020-06-17T01:21:02Z</updated>
<author>
<name>Vamshi K Sthambamkadi</name>
<email>vamshi.k.sthambamkadi@gmail.com</email>
</author>
<published>2020-06-15T14:30:38Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/linux/commit/?id=3aa8fdc37d16735e8891035becf25b3857d3efe0'/>
<id>urn:sha1:3aa8fdc37d16735e8891035becf25b3857d3efe0</id>
<content type='text'>
kmemleak report:
    [&lt;57dcc2ca&gt;] __kmalloc_track_caller+0x139/0x2b0
    [&lt;f1c45d0f&gt;] kstrndup+0x37/0x80
    [&lt;f9761eb0&gt;] parse_probe_arg.isra.7+0x3cc/0x630
    [&lt;055bf2ba&gt;] traceprobe_parse_probe_arg+0x2f5/0x810
    [&lt;655a7766&gt;] trace_kprobe_create+0x2ca/0x950
    [&lt;4fc6a02a&gt;] create_or_delete_trace_kprobe+0xf/0x30
    [&lt;6d1c8a52&gt;] trace_run_command+0x67/0x80
    [&lt;be812cc0&gt;] trace_parse_run_command+0xa7/0x140
    [&lt;aecfe401&gt;] probes_write+0x10/0x20
    [&lt;2027641c&gt;] __vfs_write+0x30/0x1e0
    [&lt;6a4aeee1&gt;] vfs_write+0x96/0x1b0
    [&lt;3517fb7d&gt;] ksys_write+0x53/0xc0
    [&lt;dad91db7&gt;] __ia32_sys_write+0x15/0x20
    [&lt;da347f64&gt;] do_syscall_32_irqs_on+0x3d/0x260
    [&lt;fd0b7e7d&gt;] do_fast_syscall_32+0x39/0xb0
    [&lt;ea5ae810&gt;] entry_SYSENTER_32+0xaf/0x102

Post parse_probe_arg(), the FETCH_OP_DATA operation type is overwritten
to FETCH_OP_ST_STRING, as a result memory is never freed since
traceprobe_free_probe_arg() iterates only over SYMBOL and DATA op types

Setup fetch string operation correctly after fetch_op_data operation.

Link: https://lkml.kernel.org/r/20200615143034.GA1734@cosmos

Cc: stable@vger.kernel.org
Fixes: a42e3c4de964 ("tracing/probe: Add immediate string parameter support")
Acked-by: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;
Signed-off-by: Vamshi K Sthambamkadi &lt;vamshi.k.sthambamkadi@gmail.com&gt;
Signed-off-by: Steven Rostedt (VMware) &lt;rostedt@goodmis.org&gt;
</content>
</entry>
</feed>
