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-head mailing list