Page MenuHomeFreeBSD

vm_object: reset iter in page_clean
ClosedPublic

Authored by dougm on Sat, Apr 19, 3:59 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 19, 9:55 PM
Unknown Object (File)
Sat, Apr 19, 8:43 PM
Unknown Object (File)
Sat, Apr 19, 8:08 PM
Unknown Object (File)
Sat, Apr 19, 4:35 PM
Unknown Object (File)
Sat, Apr 19, 3:58 PM
Subscribers

Details

Summary

Reset the page iterator unconditionally after busy_acquire(WAITFAIL) fails.

Reported-by: syzbot+b5f9ebf4c2c63a5db681@syzkaller.appspotmail.com

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dougm requested review of this revision.Sat, Apr 19, 3:59 AM
dougm created this revision.

Fixes: 9cc73397534e ("vm_page: use iterators in page allocaction")

This revision is now accepted and ready to land.Sat, Apr 19, 1:14 PM

I got this panic, which seems unrelated to me, after 8 hours of testing:

20250419 16:12:32 all (650/951): ptrace6.sh
panic: NULL p_xthread
cpuid = 4
time = 1745071954
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01844a2930
vpanic() at vpanic+0x136/frame 0xfffffe01844a2a60
panic() at panic+0x43/frame 0xfffffe01844a2ac0
kern_ptrace() at kern_ptrace+0x16ef/frame 0xfffffe01844a2b90
sys_ptrace() at sys_ptrace+0x21f/frame 0xfffffe01844a2e00
amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe01844a2f30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01844a2f30
--- syscall (26, FreeBSD ELF64, ptrace), rip = 0x823b2bada, rsp = 0x824b99fa8, rbp = 0x824b99fc0 ---

I'll resume testing.

https://people.freebsd.org/~pho/stress/log/log0577.txt

This revision was automatically updated to reflect the committed changes.