From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
To: Zorro Lang <zlang@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>,
linuxppc-dev@lists.ozlabs.org,
Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH] powerpc/kuap: Allow kernel thread to access userspace after kthread_use_mm
Date: Fri, 05 Feb 2021 19:19:36 +0530 [thread overview]
Message-ID: <871rdur5e7.fsf@linux.ibm.com> (raw)
In-Reply-To: <20210205095820.GI14354@localhost.localdomain>
Zorro Lang <zlang@redhat.com> writes:
....
> ...
> [ 530.180466] run fstests generic/617 at 2021-02-05 03:41:10
> [ 530.707969] ------------[ cut here ]------------
> [ 530.708006] kernel BUG at arch/powerpc/include/asm/book3s/64/kup.h:207!
> [ 530.708013] Oops: Exception in kernel mode, sig: 5 [#1]
> [ 530.708018] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
> [ 530.708022] Modules linked in: bonding rfkill sunrpc uio_pdrv_genirq pseries_rng uio drm fuse drm_panel_orientation_quirks ip_tables xfs libcrc32c sd_mod t10_pi ibmvscsi ibmveth scsi_trans
> port_srp xts vmx_crypto
> [ 530.708049] CPU: 13 PID: 5587 Comm: io_wqe_worker-0 Not tainted 5.11.0-r
ok so we call current_thread_amr() with kthread.
commit ae33fb7b069ebb41e32f55ae397c887031e47472
Author: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Date: Fri Feb 5 19:11:49 2021 +0530
The other stack that matters is
...
[ 530.710838] CPU: 13 PID: 5587 Comm: io_wqe_worker-0 Tainted: G D 5.11.0-rc6+ #3
....
NIP [c0000000000aa0c8] pkey_access_permitted+0x28/0x90
LR [c0000000004b9278] gup_pte_range+0x188/0x420
--- interrupt: 700
[c00000001c4ef3f0] [0000000000000000] 0x0 (unreliable)
[c00000001c4ef490] [c0000000004bd39c] gup_pgd_range+0x3ac/0xa20
[c00000001c4ef5a0] [c0000000004bdd44] internal_get_user_pages_fast+0x334/0x410
[c00000001c4ef620] [c000000000852028] iov_iter_get_pages+0xf8/0x5c0
[c00000001c4ef6a0] [c0000000007da44c] bio_iov_iter_get_pages+0xec/0x700
[c00000001c4ef770] [c0000000006a325c] iomap_dio_bio_actor+0x2ac/0x4f0
[c00000001c4ef810] [c00000000069cd94] iomap_apply+0x2b4/0x740
[c00000001c4ef920] [c0000000006a38b8] __iomap_dio_rw+0x238/0x5c0
[c00000001c4ef9d0] [c0000000006a3c60] iomap_dio_rw+0x20/0x80
[c00000001c4ef9f0] [c008000001927a30] xfs_file_dio_aio_write+0x1f8/0x650 [xfs]
[c00000001c4efa60] [c0080000019284dc] xfs_file_write_iter+0xc4/0x130 [xfs]
[c00000001c4efa90] [c000000000669984] io_write+0x104/0x4b0
[c00000001c4efbb0] [c00000000066cea4] io_issue_sqe+0x3d4/0xf50
[c00000001c4efc60] [c000000000670200] io_wq_submit_work+0xb0/0x2f0
[c00000001c4efcb0] [c000000000674268] io_worker_handle_work+0x248/0x4a0
[c00000001c4efd30] [c0000000006746e8] io_wqe_worker+0x228/0x2a0
[c00000001c4efda0] [c00000000019d994] kthread+0x1b4/0x1c0
diff --git a/arch/powerpc/include/asm/book3s/64/kup.h b/arch/powerpc/include/asm/book3s/64/kup.h
index 2064621ae7b6..21e59c1f0d67 100644
--- a/arch/powerpc/include/asm/book3s/64/kup.h
+++ b/arch/powerpc/include/asm/book3s/64/kup.h
@@ -204,14 +204,16 @@ DECLARE_STATIC_KEY_FALSE(uaccess_flush_key);
static inline u64 current_thread_amr(void)
{
- VM_BUG_ON(!current->thread.regs);
- return current->thread.regs->amr;
+ if (current->thread.regs)
+ return current->thread.regs->amr;
+ return 0;
}
static inline u64 current_thread_iamr(void)
{
- VM_BUG_ON(!current->thread.regs);
- return current->thread.regs->iamr;
+ if (current->thread.regs)
+ return current->thread.regs->iamr;
+ return 0;
}
#endif /* CONFIG_PPC_PKEY */
next prev parent reply other threads:[~2021-02-05 13:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-05 3:04 [PATCH] powerpc/kuap: Allow kernel thread to access userspace after kthread_use_mm Aneesh Kumar K.V
2021-02-05 9:58 ` Zorro Lang
2021-02-05 13:49 ` Aneesh Kumar K.V [this message]
2021-02-05 16:12 ` Zorro Lang
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=871rdur5e7.fsf@linux.ibm.com \
--to=aneesh.kumar@linux.ibm.com \
--cc=axboe@kernel.dk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
--cc=zlang@redhat.com \
/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.