From: Greg KH <gregkh@linuxfoundation.org>
To: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Cc: devel@etsukata.com, rostedt@goodmis.org, stable@vger.kernel.org
Subject: Re: [PATCH for 4.4, 4.9] tracing/snapshot: Resize spare buffer if size changed
Date: Thu, 18 Jul 2019 12:03:23 +0900 [thread overview]
Message-ID: <20190718030323.GA3581@kroah.com> (raw)
In-Reply-To: <20190718025547.5550-1-nobuhiro1.iwamatsu@toshiba.co.jp>
On Thu, Jul 18, 2019 at 11:55:47AM +0900, Nobuhiro Iwamatsu wrote:
> From: Eiichi Tsukata <devel@etsukata.com>
>
> Current snapshot implementation swaps two ring_buffers even though their
> sizes are different from each other, that can cause an inconsistency
> between the contents of buffer_size_kb file and the current buffer size.
>
> For example:
>
> # cat buffer_size_kb
> 7 (expanded: 1408)
> # echo 1 > events/enable
> # grep bytes per_cpu/cpu0/stats
> bytes: 1441020
> # echo 1 > snapshot // current:1408, spare:1408
> # echo 123 > buffer_size_kb // current:123, spare:1408
> # echo 1 > snapshot // current:1408, spare:123
> # grep bytes per_cpu/cpu0/stats
> bytes: 1443700
> # cat buffer_size_kb
> 123 // != current:1408
>
> And also, a similar per-cpu case hits the following WARNING:
>
> Reproducer:
>
> # echo 1 > per_cpu/cpu0/snapshot
> # echo 123 > buffer_size_kb
> # echo 1 > per_cpu/cpu0/snapshot
>
> WARNING:
>
> WARNING: CPU: 0 PID: 1946 at kernel/trace/trace.c:1607 update_max_tr_single.part.0+0x2b8/0x380
> Modules linked in:
> CPU: 0 PID: 1946 Comm: bash Not tainted 5.2.0-rc6 #20
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-2.fc30 04/01/2014
> RIP: 0010:update_max_tr_single.part.0+0x2b8/0x380
> Code: ff e8 dc da f9 ff 0f 0b e9 88 fe ff ff e8 d0 da f9 ff 44 89 ee bf f5 ff ff ff e8 33 dc f9 ff 41 83 fd f5 74 96 e8 b8 da f9 ff <0f> 0b eb 8d e8 af da f9 ff 0f 0b e9 bf fd ff ff e8 a3 da f9 ff 48
> RSP: 0018:ffff888063e4fca0 EFLAGS: 00010093
> RAX: ffff888066214380 RBX: ffffffff99850fe0 RCX: ffffffff964298a8
> RDX: 0000000000000000 RSI: 00000000fffffff5 RDI: 0000000000000005
> RBP: 1ffff1100c7c9f96 R08: ffff888066214380 R09: ffffed100c7c9f9b
> R10: ffffed100c7c9f9a R11: 0000000000000003 R12: 0000000000000000
> R13: 00000000ffffffea R14: ffff888066214380 R15: ffffffff99851060
> FS: 00007f9f8173c700(0000) GS:ffff88806d000000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000714dc0 CR3: 0000000066fa6000 CR4: 00000000000006f0
> Call Trace:
> ? trace_array_printk_buf+0x140/0x140
> ? __mutex_lock_slowpath+0x10/0x10
> tracing_snapshot_write+0x4c8/0x7f0
> ? trace_printk_init_buffers+0x60/0x60
> ? selinux_file_permission+0x3b/0x540
> ? tracer_preempt_off+0x38/0x506
> ? trace_printk_init_buffers+0x60/0x60
> __vfs_write+0x81/0x100
> vfs_write+0x1e1/0x560
> ksys_write+0x126/0x250
> ? __ia32_sys_read+0xb0/0xb0
> ? do_syscall_64+0x1f/0x390
> do_syscall_64+0xc1/0x390
> entry_SYSCALL_64_after_hwframe+0x49/0xbe
>
> This patch adds resize_buffer_duplicate_size() to check if there is a
> difference between current/spare buffer sizes and resize a spare buffer
> if necessary.
>
> Link: http://lkml.kernel.org/r/20190625012910.13109-1-devel@etsukata.com
>
> Cc: stable@vger.kernel.org
> Fixes: ad909e21bbe69 ("tracing: Add internal tracing_snapshot() functions")
> Signed-off-by: Eiichi Tsukata <devel@etsukata.com>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
> ---
> kernel/trace/trace.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
What is the git commit id of this patch in Linus's tree?
thanks,
greg k-h
next prev parent reply other threads:[~2019-07-18 3:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-05 8:53 FAILED: patch "[PATCH] tracing/snapshot: Resize spare buffer if size changed" failed to apply to 4.4-stable tree gregkh
2019-07-18 2:55 ` [PATCH for 4.4, 4.9] tracing/snapshot: Resize spare buffer if size changed Nobuhiro Iwamatsu
2019-07-18 3:03 ` Greg KH [this message]
2019-07-18 5:14 ` nobuhiro1.iwamatsu
2019-07-18 5:18 ` Nobuhiro Iwamatsu
2019-07-23 9:54 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190718030323.GA3581@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=devel@etsukata.com \
--cc=nobuhiro1.iwamatsu@toshiba.co.jp \
--cc=rostedt@goodmis.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.