Date: Sat, 29 May 2004 07:51:24 -0700 (PDT) From: Ian Dowse <iedowse@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/usb usb_subr.c Message-ID: <200405291451.i4TEpOUh022314@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
iedowse 2004/05/29 07:51:23 PDT
FreeBSD src repository
Modified files:
sys/dev/usb usb_subr.c
Log:
Refuse to change the configuration index if the device has open
pipes, since open pipes are linked off a usbd_interface structure
that is free()'d when the configuration index is changed. Attempting
to close or use such pipes later would access freed memory and
usually crash the system.
The only driver that is known to trigger this problem is if_axe,
which is itself at fault, but it is worth detecting the situation
to avoid the obscure crashes that result from this type of easily
made driver mistakes.
Revision Changes Path
1.64 +10 -2 src/sys/dev/usb/usb_subr.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405291451.i4TEpOUh022314>
