[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2513a500-920d-4e32-8231-f428175c7182@roeck-us.net>
Date: Mon, 4 Sep 2023 08:36:44 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: "Matthew Wilcox (Oracle)" <willy@...radead.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-arch@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Mike Rapoport <rppt@...nel.org>,
"David S. Miller" <davem@...emloft.net>, sparclinux@...r.kernel.org
Subject: Re: [PATCH v6 26/38] sparc64: Implement the new page table range API
Hi,
On Wed, Aug 02, 2023 at 04:13:54PM +0100, Matthew Wilcox (Oracle) wrote:
> Add set_ptes(), update_mmu_cache_range(), flush_dcache_folio() and
> flush_icache_pages(). Convert the PG_dcache_dirty flag from being
> per-page to per-folio.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@...radead.org>
> Acked-by: Mike Rapoport (IBM) <rppt@...nel.org>
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: sparclinux@...r.kernel.org
This patch causes all my sparc64 qemu boot tests to crash.
[ 4.890744] Unable to handle kernel NULL pointer dereference
[ 4.891273] tsk->{mm,active_mm}->context = 0000000000000001
[ 4.891475] tsk->{mm,active_mm}->pgd = fffff80005452000
[ 4.891660] \|/ ____ \|/
[ 4.891660] "@'/ .. \`@"
[ 4.891660] /_| \__/ |_\
[ 4.891660] \__U_/
[ 4.892116] modprobe(45): Oops [#1]
[ 4.892555] CPU: 0 PID: 45 Comm: modprobe Tainted: G N 6.5.0+ #1
[ 4.892949] TSTATE: 0000004411001601 TPC: 00000000004565d8 TNPC: 00000000004565dc Y: 00000008 Tainted: G N
[ 4.893307] TPC: <tlb_batch_add+0xf8/0x2a0>
[ 4.893829] g0: ec3264ae48eeb037 g1: 0000000000000028 g2: 00000000000a010c g3: 0000060000000000
[ 4.894103] g4: fffff80004c8c1a0 g5: fffff8001dc2e000 g6: fffff80005440000 g7: fffff8001fe3f700
[ 4.894373] o0: fffff80005420008 o1: 000007feffffe000 o2: fffff80005443788 o3: fffff80004c8c1a0
[ 4.894642] o4: fffff80004c8cc88 o5: 0000000001a3c000 sp: fffff80005442ee1 ret_pc: 00000000006058c8
[ 4.894918] RPC: <__pte_offset_map_lock+0x68/0x120>
[ 4.895118] l0: 0000000000605908 l1: 00000000011e8998 l2: 00000000011e8968 l3: fffff80005420008
[ 4.895392] l4: 000000000541e000 l5: fffff80005410060 l6: 00000000023c7800 l7: 00000000020fdee8
[ 4.895661] i0: fffff80005410020 i1: 000007feffffe000 i2: 0000060000052600 i3: 8000000002931fb2
[ 4.895931] i4: 0000000000000000 i5: 000000000000000d i6: fffff80005442f91 i7: 0000000000601718
[ 4.896204] I7: <change_protection+0x678/0x9e0>
[ 4.896403] Call Trace:
[ 4.896567] [<0000000000601718>] change_protection+0x678/0x9e0
[ 4.896807] [<0000000000601b80>] mprotect_fixup+0x100/0x2e0
[ 4.896990] [<0000000000652050>] setup_arg_pages+0x130/0x2a0
[ 4.897172] [<00000000006ba758>] load_elf_binary+0x358/0x13c0
[ 4.897367] [<0000000000652a00>] bprm_execve+0x2e0/0x8e0
[ 4.897540] [<0000000000653e24>] kernel_execve+0x144/0x200
[ 4.898023] [<000000000048775c>] call_usermodehelper_exec_async+0xbc/0x140
[ 4.898248] [<00000000004060e8>] ret_from_fork+0x1c/0x2c
[ 4.898422] [<0000000000000000>] 0x0
[ 4.898641] Disabling lock debugging due to kernel taint
[ 4.898860] Caller[0000000000601718]: change_protection+0x678/0x9e0
[ 4.899073] Caller[0000000000601b80]: mprotect_fixup+0x100/0x2e0
[ 4.899254] Caller[0000000000652050]: setup_arg_pages+0x130/0x2a0
[ 4.899435] Caller[00000000006ba758]: load_elf_binary+0x358/0x13c0
[ 4.899618] Caller[0000000000652a00]: bprm_execve+0x2e0/0x8e0
[ 4.899789] Caller[0000000000653e24]: kernel_execve+0x144/0x200
[ 4.899964] Caller[000000000048775c]: call_usermodehelper_exec_async+0xbc/0x140
[ 4.900177] Caller[00000000004060e8]: ret_from_fork+0x1c/0x2c
[ 4.900349] Caller[0000000000000000]: 0x0
[ 4.900487] Instruction DUMP:
[ 4.900517] 80886001
[ 4.900714] 126fffca
[ 4.900797] 01000000
[ 4.900876] <c2582000>
[ 4.900954] 83307013
[ 4.901032] 80886001
[ 4.901109] 02680007
[ 4.901187] 01000000
[ 4.901269] c2582000
[ 4.901353]
[ 4.901535] note: modprobe[45] exited with preempt_count 2
Bisect log attached.
Guenter
---
# bad: [708283abf896dd4853e673cc8cba70acaf9bf4ea] Merge tag 'dmaengine-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
# good: [2dde18cd1d8fac735875f2e4987f11817cc0bc2c] Linux 6.5
git bisect start 'HEAD' 'v6.5'
# bad: [53ea7f624fb91074c2f9458832ed74975ee5d64c] Merge tag 'xfs-6.6-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
git bisect bad 53ea7f624fb91074c2f9458832ed74975ee5d64c
# good: [c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
git bisect good c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8
# good: [3b6bf5b1f8e3d17d7566027cdc5a8262991eb5bc] Merge tag 'spi-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi
git bisect good 3b6bf5b1f8e3d17d7566027cdc5a8262991eb5bc
# bad: [b96a3e9142fdf346b05b20e867b4f0dfca119e96] Merge tag 'mm-stable-2023-08-28-18-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
git bisect bad b96a3e9142fdf346b05b20e867b4f0dfca119e96
# bad: [bb7dbaafff3f582d18028a5b99a8faa789842678] mm: remove checks for pte_index
git bisect bad bb7dbaafff3f582d18028a5b99a8faa789842678
# good: [601f006fddc66e369fdac7c572f981eafd159dac] powerpc/book3s64/radix: remove mmu_vmemmap_psize
git bisect good 601f006fddc66e369fdac7c572f981eafd159dac
# good: [7e5f42ae3413785c68c383acb787f9ce8f243096] mm: convert pmd_ptlock_free() to use ptdescs
git bisect good 7e5f42ae3413785c68c383acb787f9ce8f243096
# good: [a644b0abbfe1d7cf775082cafdcc7b5f3c35becf] mm: convert split_huge_pages_pid() to use a folio
git bisect good a644b0abbfe1d7cf775082cafdcc7b5f3c35becf
# good: [994209410919f2b84b7e4ab2e78785d9715308ad] nios2: implement the new page table range API
git bisect good 994209410919f2b84b7e4ab2e78785d9715308ad
# bad: [9f1f5b60e76d44fa85fef6970b7477f72d3999eb] mm: use flush_icache_pages() in do_set_pmd()
git bisect bad 9f1f5b60e76d44fa85fef6970b7477f72d3999eb
# good: [665f640294540a941aabb81ae46dfc671aff5259] sparc32: implement the new page table range API
git bisect good 665f640294540a941aabb81ae46dfc671aff5259
# bad: [4fbb7e7f47dbc631a9f5bad3171ccbca171ed1d3] xtensa: implement the new page table range API
git bisect bad 4fbb7e7f47dbc631a9f5bad3171ccbca171ed1d3
# bad: [fd8132e6e9fdecb9ff7d1db98014d372e03f3c9d] um: implement the new page table range API
git bisect bad fd8132e6e9fdecb9ff7d1db98014d372e03f3c9d
# bad: [1a10a44dfc1d55ba84987da1f8377258a044499c] sparc64: implement the new page table range API
git bisect bad 1a10a44dfc1d55ba84987da1f8377258a044499c
# first bad commit: [1a10a44dfc1d55ba84987da1f8377258a044499c] sparc64: implement the new page table range API
Powered by blists - more mailing lists