Module Name: src Committed By: dyoung Date: Wed Jun 2 23:41:14 UTC 2010
Modified Files: src/sys/net: if.c Log Message: Prevent if_detach() from crashing while it walks the routing table to find and unlink routes that reference the detached ifnet: make if_rt_walktree() return ERESTART whenever it has deleted a route. Whenever rt_walktree() returns ERESTART, if_detach() restarts it. I believe that this fix resembles one by Jonathan Kollasch or by someone else, which has languished in a PR for too long. Sorry! Tested by me and by Jeff Rizzo. XXX It's supposed to be safe for rn_walktree() to apply to the routing XXX table a routine that may delete routes. Why isn't it safe in XXX practice? To generate a diff of this commit: cvs rdiff -u -r1.242 -r1.243 src/sys/net/if.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.