Date: Mon, 17 Oct 2016 10:27:21 -0700 From: John Baldwin <jhb@freebsd.org> To: Hans Petter Selasky <hselasky@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r307518 - in head/sys: arm/allwinner arm/at91 arm/cavium/cns11xx arm/samsung/exynos arm/ti/am335x arm/ti/usb arm/xilinx boot/kshim dev/bhnd/cores/usb dev/puc dev/usb dev/usb/controller ... Message-ID: <1894111.JRI62yHUp5@ralph.baldwin.cx> In-Reply-To: <201610171020.u9HAKdWO076718@repo.freebsd.org> References: <201610171020.u9HAKdWO076718@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, October 17, 2016 10:20:39 AM Hans Petter Selasky wrote: > Author: hselasky > Date: Mon Oct 17 10:20:38 2016 > New Revision: 307518 > URL: https://svnweb.freebsd.org/changeset/base/307518 > > Log: > Fix device delete child function. > > When detaching device trees parent devices must be detached prior to > detaching its children. This is because parent devices can have > pointers to the child devices in their softcs which are not > invalidated by device_delete_child(). This can cause use after free > issues and panic(). > > Device drivers implementing trees, must ensure its detach function > detaches or deletes all its children before returning. > > While at it remove now redundant device_detach() calls before > device_delete_child() and device_delete_children(), mostly in > the USB controller drivers. > > Tested by: Jan Henrik Sylvester <me@janh.de> > Reviewed by: jhb > Differential Revision: https://reviews.freebsd.org/D8070 > MFC after: 2 weeks Thanks. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1894111.JRI62yHUp5>