CONFIG_PREEMPT and JFFS2 oops
Joakim Tjernlund
joakim.tjernlund at transmode.se
Thu Jan 26 15:01:10 EST 2012
> >
> > 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
More information about the linux-mtd
mailing list