On 11/13/2015 12:39 PM, Bryan Drewery wrote: > On 11/13/2015 3:16 AM, Alexander V. Chernikov wrote: >> 10.11.2015, 17:49, "Randall Stewart" <r...@freebsd.org>: >>> Author: rrs >>> Date: Tue Nov 10 14:49:32 2015 >>> New Revision: 290664 >>> URL: https://svnweb.freebsd.org/changeset/base/290664 >>> >>> Log: >>> Add new async_drain to the callout system. This is so-far not used but >>> should be used by TCP for sure in its cleanup of the IN-PCB (will be >>> coming shortly). >> >> Randall, this commit introduced change in callout_stop() which was not >> mentioned in commit message. >> This change has broken lltable arp/nd handling: deleting interface address >> causes immediate panic. >> I also see other other code/subsystems relying on callout_stop() return >> value (netgraph, pfsync, iscsi). >> I was not able to find any discussion/analysis/testing for these in D4076 so >> this change does not look like being properly tested prior commiting.. >> >> > > Fixing this is pretty easy. Keeping _callout_stop_safe() as a function > wrapper around a new _callstop_stop_safe_drain() that takes the new > argument. Then change callout_stop define to use > _callstop_stop_safe_drain(). New code will avoid the wrapper function as > it is recompiled. >
I was more speaking about hps@ point that the drain ptr is random for old modules. This should fix that: https://people.freebsd.org/~bdrewery/patches/callout-abi-compat.diff I don't have any opinion or idea on the return value though. Perhaps a revert is best for now until it can be discussed properly. -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature