[Bug 233414] [PowerPC64] OPTIONS DEBUG_MEMGUARD results in unbootable kernel

[email protected]
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233414

--- Comment #6 from Leandro Lupori <[email protected]> ---
(In reply to Leandro Lupori from comment #5)

Unfortunately I hit the recursive call to kmem_back_domain() issue again.

root@ppcdevref:~ # panic: __rw_wlock_hard: recursing but non-recursive rw
kernel vm object @ /usr/src/sys/vm/vm_kern.c:472

cpuid = 70
time = 1543855595
KDB: stack backtrace:
0xe000000173207c10: at .kdb_backtrace+0x5c
0xe000000173207d40: at .vpanic+0x1b4
0xe000000173207e00: at .panic+0x38
0xe000000173207e90: at .__rw_wlock_hard+0x174
0xe000000173207fa0: at ._rw_wlock_cookie+0x110
0xe000000173208040: at .kmem_back_domain+0x134
0xe000000173208130: at .kmem_back_domain+0x438
0xe0000001732081f0: at .kmem_back+0x18
0xe000000173208270: at .memguard_alloc+0x188
0xe000000173208360: at .uma_zalloc_arg+0xe0
0xe000000173208420: at .uma_zalloc_pcpu_arg+0x174
0xe0000001732084c0: at .uma_zfree_arg+0x4c4
0xe000000173208570: at .uma_zfree_pcpu_arg+0xc4
0xe000000173208600: at .uma_zalloc_arg+0x3c0
0xe0000001732086c0: at .moea64_get_unique_vsid+0x2e4
0xe000000173208740: at .moea64_enter+0xac
0xe000000173208840: at .pmap_enter+0xb4
0xe0000001732088f0: at .kmem_back_domain+0x27c
0xe0000001732089e0: at .kmem_malloc_domainset+0xc8
0xe000000173208ad0: at .uma_large_malloc_domain+0xa4
0xe000000173208b60: at .uma_large_malloc+0x1c
0xe000000173208be0: at .malloc+0x134
0xe000000173208c90: at .zfs_kmem_alloc+0x34
0xe000000173208d10: at .zio_buf_alloc+0xec
0xe000000173208db0: at .abd_alloc_linear+0xec
0xe000000173208e50: at .abd_alloc_for_io+0x34
0xe000000173208ed0: at .vdev_queue_io_to_issue+0x8c4
0xe000000173209420: at .vdev_queue_io_done+0x20c
0xe0000001732094f0: at .zio_vdev_io_done+0x12c
0xe000000173209590: at .zio_execute+0x1c4
0xe000000173209670: at .taskq_run_ent+0x30
0xe0000001732096f0: at .taskqueue_poll_is_busy+0x250
0xe0000001732097c0: at .taskqueue_thread_loop+0xac
0xe000000173209850: at .fork_exit+0xd0
0xe0000001732098f0: at .fork_trampoline+0x10
0xe000000173209920: at -0x4
KDB: enter: panic
[ thread pid 0 tid 101000 ]
Stopped at      .kdb_enter+0x60:        ld      r2, r1, 0x28
db>  


It is interesting that this time memguard_alloc() was not called twice, but it
was called before the first call to kmem_back_domain() returned.

Any idea on how to work around this? Maybe force memguard to also guard malloc?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.