NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/58552: panic via genfs_getpages - ufs_bmaparray
The following reply was made to PR kern/58552; it has been noted by GNATS.
From: "J. Hannken-Illjes" <hannken%mailbox.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: kern/58552: panic via genfs_getpages - ufs_bmaparray
Date: Thu, 29 Aug 2024 11:25:59 +0200
From gdb frame #9 "incore(0xfffff48d36a6d940, -12)" we traverse the
hash list "bufhashtbl[3581645]->lh_first == 0xfffff48e57516230".
This buffer looks invalid:
b_iodone = 0xffff828027d87100,
b_error = 794242176,
b_resid = -32128,
b_flags = 1131827200,
b_prio = -32128,
b_bufsize = 660073344,
b_bcount = -32128,
...
The buffer is the 3rd element of "bufpl" item header 0xfffff4907870d150,
page 0xfffff48e57516000. All 15 buffers from this page are allocated.
Page 0xfffff48e57516000 is a large page from the direct map, not sure
if it matters (direct map 0xfffff484f8e00000 .. 0xfffff49138dfffff).
Printing the entire page:
0xfffff48e57516000: 0xffff82804a3f6380 0xffff82802784de80
0xfffff48e57516010: 0xffff82804e020600 0xffff828036284d80
0xfffff48e57516020: 0xffff82803c3f8d00 0xffff828031b42c80
0xfffff48e57516030: 0xffff82803054dc00 0xffff828036e98f80
...
0xfffff48e57516230: 0xffff82804d2e0e80 0xffff8280311de600
0xfffff48e57516240: 0xffff82803144c580 0xffff828027d87100
0xfffff48e57516250: 0xffff82802f572c80 0xffff828043765000
0xfffff48e57516260: 0xffff82802757eb80 0xffff8280501ea300
0xfffff48e57516270: 0xffff82802c916e00 0xffff828048faa400
0xfffff48e57516280: 0xffff8280547ebb80 0xffff828040165300
0xfffff48e57516290: 0xffff82804191ed80 0xffff82803eb2dd00
...
0xfffff48e57516fc0: 0xffff828037f58180 0xffff828034a14900
0xfffff48e57516fd0: 0xffff82804ee23080 0xffff8280519c0000
0xfffff48e57516fe0: 0xffff82803c38fb80 0xffff82802bc49700
0xfffff48e57516ff0: 0xffff828052c3f680 0xffff828033468200
All these entrys are valid "struct vm_page *" pointers so it looks like
this page allocated to the "bufpl" got overwritten with 512 pointers
to vm pages.
Which operation creates an array of at least 512 "struct vm_page"
pointers and therefore is a candidate for trashing?
--
J. Hannken-Illjes
Home |
Main Index |
Thread Index |
Old Index