Re: CONFIG_PREEMPT and JFFS2 oops

Joakim Tjernlund
2012-01-26T20:01:13Z

> >
> > On Thu, 26 Jan 2012, Joakim Tjernlund wrote:
> >
> > > Still leeks:
> > > + best_slen = tdl;
> > > + best_buf = tmp_buf;
> > > + best = this;
> > >
> > > You just throw away best_buf here, don't you?
> >
> > You're right. It's even worse than that. best_buf will contain the data
> > from the last compressor used. And it will be prematurely freed. Here's
> > a fixed version.
> >
> > Time for breakfast.
>
> hmm, that memcpy is costly. Just swap tmp_buf and best_buf instead?
>
> Time to go home :)

.. and you should delay the second allocation to when it is needed. After swapping ptrs, test if
tmp_buf is NULL and kmalloc if so.

Jocke