Messages in this thread | | | Date | Wed, 23 Apr 2008 10:11:23 -0700 | From | Pete Zaitcev <> | Subject | Re: [sched-devel/latest] WARNING: at mm/slub.c:2443 |
| |
On Wed, 23 Apr 2008 10:38:45 +0300 (EEST), Pekka J Enberg <penberg@cs.helsinki.fi> wrote:
> > The code analysis for usbmon shows nothing. Anyone wants to have > > a look?
Thanks for taking this little challenge, let's have a look...
> --- a/drivers/usb/mon/mon_text.c > +++ b/drivers/usb/mon/mon_text.c > @@ -449,6 +449,7 @@ static struct mon_event_text *mon_text_read_wait(struct mon_reader_text *rp, > if (file->f_flags & O_NONBLOCK) { > set_current_state(TASK_RUNNING); > remove_wait_queue(&rp->wait, &waita); > + kmem_cache_free(rp->e_slab, ep); > return ERR_PTR(-EWOULDBLOCK);
The code looks like this:
while ((ep = mon_text_fetch(rp, mbus)) == NULL) { if (file->f_flags & O_NONBLOCK) { set_current_state(TASK_RUNNING); remove_wait_queue(&rp->wait, &waita); return ERR_PTR(-EWOULDBLOCK);
It's impossible to get inside the while() with non-null ep, so your patch doesn't fix anything (even if kmem_cache_free can survive a NULL object).
Any other ideas?
-- Pete
| |