From: Andrew Halaney <ahalaney@redhat.com>
To: LKML <linux-kernel@vger.kernel.org>,
linux-rt-users <linux-rt-users@vger.kernel.org>
Subject: [RT v5.12-rc3-rt3] __call_rcu with KASAN causes invalid sleeping function call
Date: Fri, 26 Mar 2021 16:20:09 -0500 [thread overview]
Message-ID: <20210326212009.dvmga3e7axms3atk@halaneylaptop> (raw)
Hi,
I booted the RT kernel (v5.12-rc3-rt3) with KASAN enabled for the first
time today and noticed this:
[ 2.670635] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:951
[ 2.670638] in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 19, name: pgdatinit0
[ 2.670649] 8 locks held by pgdatinit0/19:
[ 2.670651] #0: ffffffffb6e0a1e0 (tasklist_lock){+.+.}-{0:0}, at: release_task+0x110/0x480
[ 2.670666] #1: ffffffffb7364d80 (rcu_read_lock){....}-{1:2}, at: rt_write_lock+0x292/0x3a0
[ 2.670683] #2: ffff888100364860 (&sighand->siglock){+.+.}-{0:0}, at: __exit_signal+0x11d/0x1180
[ 2.670690] #3: ffffffffb7364d80 (rcu_read_lock){....}-{1:2}, at: rt_spin_lock+0x5/0xb0
[ 2.670696] #4: ffff888100395e10 (&(&sig->stats_lock)->lock){+.+.}-{0:0}, at: __exit_signal+0x276/0x1180
[ 2.670701] #5: ffffffffb7364d80 (rcu_read_lock){....}-{1:2}, at: rt_spin_lock+0x5/0xb0
[ 2.670707] #6: ffff888100395d38 (&____s->seqcount#3){+.+.}-{0:0}, at: release_task+0x1d6/0x480
[ 2.670713] #7: ffffffffb77516c0 (depot_lock){+.+.}-{2:2}, at: stack_depot_save+0x1b9/0x440
[ 2.670736] irq event stamp: 31790
[ 2.670738] hardirqs last enabled at (31789): [<ffffffffb5a58cbd>] _raw_spin_unlock_irqrestore+0x2d/0xe0
[ 2.670741] hardirqs last disabled at (31790): [<ffffffffb3dc5d86>] __call_rcu+0x436/0x880
[ 2.670746] softirqs last enabled at (0): [<ffffffffb3be1737>] copy_process+0x1357/0x4f90
[ 2.670751] softirqs last disabled at (0): [<0000000000000000>] 0x0
[ 2.670763] CPU: 0 PID: 19 Comm: pgdatinit0 Not tainted 5.12.0-rc3-rt3 #1
[ 2.670766] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
[ 2.670768] Call Trace:
[ 2.670790] ? unwind_next_frame+0x11e/0x1ce0
[ 2.670800] dump_stack+0x93/0xc2
[ 2.670826] ___might_sleep.cold+0x1b2/0x1f1
[ 2.670838] rt_spin_lock+0x3b/0xb0
[ 2.670838] ? stack_depot_save+0x1b9/0x440
[ 2.670838] stack_depot_save+0x1b9/0x440
[ 2.670838] kasan_save_stack+0x32/0x40
[ 2.670838] ? kasan_save_stack+0x1b/0x40
[ 2.670838] ? kasan_record_aux_stack+0xa5/0xb0
[ 2.670838] ? __call_rcu+0x117/0x880
[ 2.670838] ? __exit_signal+0xafb/0x1180
[ 2.670838] ? release_task+0x1d6/0x480
[ 2.670838] ? exit_notify+0x303/0x750
[ 2.670838] ? do_exit+0x678/0xcf0
[ 2.670838] ? kthread+0x364/0x4f0
[ 2.670838] ? ret_from_fork+0x22/0x30
[ 2.670838] ? mark_held_locks+0xa5/0xe0
[ 2.670838] ? lockdep_hardirqs_on_prepare.part.0+0x18a/0x370
[ 2.670838] ? _raw_spin_unlock_irqrestore+0x2d/0xe0
[ 2.670838] ? lockdep_hardirqs_on+0x77/0x100
[ 2.670838] ? _raw_spin_unlock_irqrestore+0x38/0xe0
[ 2.670838] ? debug_object_active_state+0x273/0x370
[ 2.670838] ? debug_object_activate+0x380/0x460
[ 2.670838] ? alloc_object+0x960/0x960
[ 2.670838] ? lockdep_hardirqs_on+0x77/0x100
[ 2.670838] ? _raw_spin_unlock_irqrestore+0x38/0xe0
[ 2.670838] ? __call_rcu+0x436/0x880
[ 2.670838] ? lockdep_hardirqs_off+0x90/0xd0
[ 2.670838] kasan_record_aux_stack+0xa5/0xb0
[ 2.670838] __call_rcu+0x117/0x880
[ 2.670838] ? put_pid+0x10/0x10
[ 2.670838] ? rt_spin_unlock+0x31/0x80
[ 2.670838] ? rcu_implicit_dynticks_qs+0xab0/0xab0
[ 2.670838] ? free_pid+0x19c/0x260
[ 2.670838] __exit_signal+0xafb/0x1180
[ 2.670838] ? trace_sched_process_exit+0x1b0/0x1b0
[ 2.670838] ? rcu_is_watching+0xf1/0x160
[ 2.670838] ? rt_write_lock+0x306/0x3a0
[ 2.670838] ? release_task+0x23/0x480
[ 2.670838] release_task+0x1d6/0x480
[ 2.670838] exit_notify+0x303/0x750
[ 2.670838] ? cgroup_exit+0x306/0x830
[ 2.670838] ? forget_original_parent+0xb80/0xb80
[ 2.670838] ? perf_event_exit_task+0x1b3/0x2d0
[ 2.670838] ? rcu_read_lock_sched_held+0x3f/0x70
[ 2.670838] do_exit+0x678/0xcf0
[ 2.670838] ? exit_mm+0x5b0/0x5b0
[ 2.670838] ? __kthread_parkme+0xc9/0x280
[ 2.670838] ? setup_nr_node_ids+0x2a/0x2a
[ 2.670838] kthread+0x364/0x4f0
[ 2.670838] ? __kthread_parkme+0x280/0x280
[ 2.670838] ret_from_fork+0x22/0x30
Please let me know if you want any more info.
Thanks,
Andrew
next reply other threads:[~2021-03-26 21:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-26 21:20 Andrew Halaney [this message]
2021-03-27 5:03 ` [RT v5.12-rc3-rt3] __call_rcu with KASAN causes invalid sleeping function call Mike Galbraith
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=20210326212009.dvmga3e7axms3atk@halaneylaptop \
--to=ahalaney@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox