All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Sven Schnelle <svens@linux.ibm.com>
Cc: Ritesh Harjani <riteshh@linux.ibm.com>,
	linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Harshad Shirwadkar <harshadshirwadkar@gmail.com>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@kernel.org
Subject: Re: [PATCHv3 02/10] ext4: Fix ext4_fc_stats trace point
Date: Thu, 17 Mar 2022 14:39:38 -0400	[thread overview]
Message-ID: <20220317143938.745e1420@gandalf.local.home> (raw)
In-Reply-To: <yt9dr1706b4i.fsf@linux.ibm.com>

You already replied, but this was what I was working on.

On Thu, 17 Mar 2022 13:01:49 +0100
Sven Schnelle <svens@linux.ibm.com> wrote:

> I'm getting the following oops with that patch:

I think I know the issue.

> 
> [    0.937455] VFS: Disk quotas dquot_6.6.0
> [    0.937474] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
> [    0.958347] Unable to handle kernel pointer dereference in virtual kernel address space
> [    0.958350] Failing address: 00000000010de000 TEID: 00000000010de407
> [    0.958353] Fault in home space mode while using kernel ASCE.
> [    0.958357] AS:0000000001ed0007 R3:00000002ffff0007 S:0000000001003701
> [    0.958388] Oops: 0004 ilc:3 [#1] SMP
> [    0.958393] Modules linked in:
> [    0.958398] CPU: 0 PID: 8 Comm: kworker/u128:0 Not tainted 5.17.0-rc8-next-20220317 #396
> [    0.958403] Hardware name: IBM 3906 M04 704 (z/VM 7.1.0)

I'm guessing this is a s390?

> [    0.958407] Workqueue: eval_map_wq eval_map_work_func
> 
> [    0.958446] Krnl PSW : 0704e00180000000 000000000090a9d6 (number+0x25e/0x3c0)
> [    0.958456]            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
> [    0.958461] Krnl GPRS: 0000000000000058 00000000010de0ac 0000000000000001 00000000fffffffc
> [    0.958467]            0000038000047b80 0affffff010de0ab 0000000000000000 0000000000000000
> [    0.958481]            0000000000000020 0000038000000000 00000000010de0ad 00000000010de0ab
> [    0.958484]            0000000080312100 0000000000e68910 0000038000047b50 0000038000047ab8
> [    0.958494] Krnl Code: 000000000090a9c6: f0c84112b001        srp     274(13,%r4),1(%r11),8
> [    0.958494]            000000000090a9cc: 41202001            la      %r2,1(%r2)
> [    0.958494]           #000000000090a9d0: ecab0006c065        clgrj   %r10,%r11,12,000000000090a9dc
> [    0.958494]           >000000000090a9d6: d200b0004000        mvc     0(1,%r11),0(%r4)
> [    0.958494]            000000000090a9dc: 41b0b001            la      %r11,1(%r11)
> [    0.958494]            000000000090a9e0: a74bffff
>             aghi    %r4,-1
> [    0.958494]            000000000090a9e4: a727fff6            brctg   %r2,000000000090a9d0
> [    0.958494]            000000000090a9e8: a73affff            ahi     %r3,-1
> [    0.958575] Call Trace:
> [    0.958580]  [<000000000090a9d6>] number+0x25e/0x3c0
> [    0.958594] ([<0000000000289516>] update_event_printk+0xde/0x200)
> [    0.958602]  [<0000000000910020>] vsnprintf+0x4b0/0x7c8
> [    0.958606]  [<00000000009103e8>] snprintf+0x40/0x50
> [    0.958610]  [<00000000002893d2>] eval_replace+0x62/0xc8
> [    0.958614]  [<000000000028e2fe>] trace_event_eval_update+0x206/0x248
> [    0.958619]  [<0000000000171bba>] process_one_work+0x1fa/0x460
> [    0.958625]  [<000000000017234c>] worker_thread+0x64/0x468
> [    0.958629]  [<000000000017af90>] kthread+0x108/0x110
> [    0.958634]  [<00000000001032ec>] __ret_from_fork+0x3c/0x58
> [    0.958640]  [<0000000000cce43a>] ret_from_fork+0xa/0x40
> [    0.958648] Last Breaking-Event-Address:
> [    0.958652]  [<000000000090a99c>] number+0x224/0x3c0
> [    0.958661] Kernel panic - not syncing: Fatal exception: panic_on_oops
> 
> I haven't really checked what TRACE_DEFINE_ENUM() does, but removing the
> last line ("TRACE_DEFINE_ENUM(EXT4_FC_REASON_MAX);") makes the oops go
> away. Looking at all the other defines looks like the _MAX enum
> shouldn't be added there?

What I believe is happening is that we are modifying different memory to
fix up the enums by the types. The print_fmt happens to be defined by:

static char print_fmt_##call[] = print;

Which is writable. But the types are defined with:

.type = #_type"["__stringify(_len)"]", .name = #_item,

Which are not. It just so happens that on x86 this is still writable
during boot up, so it wasn't a problem.

[ here I wanted to add a patch, but I haven't figured out the best way to
  fix it yet. ]

-- Steve

  parent reply	other threads:[~2022-03-17 18:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-12  5:39 [PATCHv3 00/10] ext4: Improve FC trace events Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 01/10] ext4: Remove unused enum EXT4_FC_COMMIT_FAILED Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 02/10] ext4: Fix ext4_fc_stats trace point Ritesh Harjani
2022-03-12 15:13   ` Steven Rostedt
2022-03-17 12:01   ` Sven Schnelle
2022-03-17 14:50     ` Ritesh Harjani
2022-03-17 15:22       ` Sven Schnelle
2022-03-17 16:00         ` Steven Rostedt
2022-03-17 16:11       ` Sven Schnelle
2022-03-17 17:43         ` Nathan Chancellor
2022-03-18  4:14           ` Ritesh Harjani
2022-03-18 15:32             ` Nathan Chancellor
2022-03-17 18:38         ` Steven Rostedt
2022-03-17 18:39     ` Steven Rostedt [this message]
2022-03-18 16:30       ` Steven Rostedt
2022-03-19  5:04         ` Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 03/10] ext4: Convert ext4_fc_track_dentry type events to use event class Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 04/10] ext4: Do not call FC trace event in ext4_fc_commit() if FS does not support FC Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 05/10] ext4: Return early for non-eligible fast_commit track events Ritesh Harjani
2022-03-15 21:43   ` Theodore Ts'o
2022-03-16  3:55     ` Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 06/10] ext4: Add new trace event in ext4_fc_cleanup Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 07/10] ext4: Add transaction tid info in fc_track events Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 08/10] ext4: Add commit_tid info in jbd debug log Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 09/10] ext4: Add commit tid info in ext4_fc_commit_start/stop trace events Ritesh Harjani
2022-03-12  5:39 ` [PATCHv3 10/10] ext4: Fix remaining two trace events to use same printk convention Ritesh Harjani
2022-03-13  4:45 ` [PATCHv3 00/10] ext4: Improve FC trace events Theodore Ts'o

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=20220317143938.745e1420@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=harshadshirwadkar@gmail.com \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riteshh@linux.ibm.com \
    --cc=stable@kernel.org \
    --cc=svens@linux.ibm.com \
    --cc=tytso@mit.edu \
    /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.