>  I believe somebody passed that around on a list before, but there are
>  other malloc bugs in bt code.

Doesn't mean this diff shouldn't go in.  So this diff is ok kettenis@;
please commit this miod.

>  On Tue, Nov 16, 2010 at 2:09 PM, Miod Vallat <m...@online.fr> wrote:
> >> http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=6480
> >>
> >> Concerning PR 6480 I need to add: it's caused by the btconfig ubt* up
> >> commmand, at least on my machine. And it happens on i386, too.
> >
> > Please try the following diff.
> >
> > Miod
> >
> > Index: uhci.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/usb/uhci.c,v
> > retrieving revision 1.84
> > diff -u -p -r1.84 uhci.c
> > --- uhci.c      23 Oct 2010 15:42:09 -0000      1.84
> > +++ uhci.c      18 Nov 2010 19:10:13 -0000
> > @@ -2757,7 +2757,9 @@ uhci_device_setintr(uhci_softc_t *sc, st
> >
> >        upipe->u.intr.npoll = npoll;
> >        upipe->u.intr.qhs =
> > -               malloc(npoll * sizeof(uhci_soft_qh_t *), M_USBHC,
>  M_WAITOK);
> > +           malloc(npoll * sizeof(uhci_soft_qh_t *), M_USBHC, M_NOWAIT);
> > +       if (upipe->u.intr.qhs == NULL)
> > +               return (USBD_NOMEM);
> >
> >        /*
> >         * Figure out which offset in the schedule that has most

Reply via email to