svn commit: r353876 - head/sys/kern
Gleb Smirnoff
glebius at freebsd.org
Tue Oct 22 15:29:15 UTC 2019
Li-Wen,
On Tue, Oct 22, 2019 at 04:28:45PM +0800, Li-Wen Hsu wrote:
L> > Modified: head/sys/kern/subr_epoch.c
L> > ==============================================================================
L> > --- head/sys/kern/subr_epoch.c Mon Oct 21 21:21:34 2019 (r353875)
L> > +++ head/sys/kern/subr_epoch.c Mon Oct 21 23:12:14 2019 (r353876)
L> > @@ -366,9 +366,13 @@ _epoch_enter_preempt(epoch_t epoch, epoch_tracker_t et
L> > struct thread *td;
L> >
L> > MPASS(cold || epoch != NULL);
L> > - INIT_CHECK(epoch);
L> > MPASS(epoch->e_flags & EPOCH_PREEMPT);
L> > td = curthread;
L> > + MPASS((vm_offset_t)et >= td->td_kstack &&
L> > + (vm_offset_t)et + sizeof(struct epoch_tracker) <
L> > + td->td_kstack + td->td_kstack_pages * PAGE_SIZE);
L> > +
L> > + INIT_CHECK(epoch);
L> > #ifdef EPOCH_TRACE
L> > epoch_trace_enter(td, epoch, et, file, line);
L> > #endif
L>
L> Hello Gleb,
L>
L> RISC-V boot panics with this message:
L>
L> panic: Assertion (vm_offset_t)et >= td->td_kstack && (vm_offset_t)et +
L> sizeof(struct epoch_tracker) < td->td_kstack + td->td_kstack_pages *
L> PAGE_SIZE failed at /workspace/src/sys/kern/subr_epoch.c:373
L>
L> Full log: https://ci.freebsd.org/job/FreeBSD-head-riscv64-test/12334/console
L>
L> Can you help check this?
I need help from RISC-V experts.
Can you please meanwhile print out values of et and td->td_kstack?
--
Gleb Smirnoff
More information about the svn-src-all
mailing list