kern/174236: "kldunload ipdivert" corrupts kernel
Eitan Adler
lists at eitanadler.com
Fri Dec 7 18:43:02 UTC 2012
On 7 December 2012 09:50, Lutz Donnerhacke <lutz at donnerhacke.de> wrote:
> The following reply was made to PR kern/174236; it has been noted by GNATS.
>
> From: Lutz Donnerhacke <lutz at donnerhacke.de>
> To: bug-followup at FreeBSD.org
> Cc:
> Subject: Re: kern/174236: "kldunload ipdivert" corrupts kernel
> Date: Fri, 7 Dec 2012 15:45:00 +0100
>
> Any module which returns an error on unload will cause the problem.
> It's not specific to ipdivert.ko or ipfw.ko or anything else.
>
> Relevant code section is:
>
> static int
> div_modevent(module_t mod, int type, void *unused)
> {
> int err = 0;
> switch (type) {
> [...]
> case MOD_QUIESCE:
> err = EPERM;
> break;
> [...]
> }
> return err;
> }
>
> Please note: Forced unload of ipdivert.ko works fine.
If you are able and willing to debug:
<avg> I'd recommend him to enter debugger and run ps there
<avg> and get backtraces of the hanging threads
<dwhite-> it sounds like a leaked lock in the error case
If not, just leaving this here for the record ;)
--
Eitan Adler
More information about the freebsd-bugs
mailing list