Re: 2.5.31: modules don't work at all

Andrew Morton
2002-08-13T00:11:38Z

Andrew Rodland wrote:
>
> > > - if (in_interrupt() || !mm)
> > > + if (preempt_count() || !mm)
> > > goto no_context;
> > >
> > > down_read(&mm->mmap_sem);
> > >
> >
> > Yes, that's the problem. qm_symbols() is performing copy_to_user()
> > inside lock_kernel() and that's an "atomic copy_to_user()" in 2.5.31.
> > But only if preempt is selected. The copy_to_user() doesn't work.
> >
> > There's nothing illegal about copy_to_user() inside lock_kernel().
>
> Does that mean that the above fix is a legal quick-fix and won't cause
> things to fall apart, or does it mean that I shouldn't bother until the
> next version?

That a legal quick-fix. Or disable CONFIG_PREEMPT.