lkml.org 
[lkml]   [2023]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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@infradead.org>
    > Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
    > Cc: "David S. Miller" <davem@davemloft.net>
    > Cc: sparclinux@vger.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

    \
     
     \ /
      Last update: 2023-09-04 17:38    [W:2.606 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site