Date: Thu, 23 Apr 2009 13:08:47 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/net if.c if_var.h Message-ID: <200904231308.n3ND8weG006847@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2009-04-23 13:08:47 UTC FreeBSD src repository Modified files: sys/net if.c if_var.h Log: SVN rev 191423 on 2009-04-23 13:08:47Z by rwatson Add ifunit_ref(), a version of ifunit(), that returns not just an interface pointer, but also a reference to it. Modify ifioctl() to use ifunit_ref(), holding the reference until all ioctls, etc, have completed. This closes a class of reader-writer races in which interfaces could be removed during long-running ioctls, leading to crashes. Many other consumers of ifunit() should now use ifunit_ref() to avoid similar races. MFC after: 3 weeks Revision Changes Path 1.325 +28 -6 src/sys/net/if.c 1.137 +1 -0 src/sys/net/if_var.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904231308.n3ND8weG006847>