tcp: unloading a module that is set to default should error.
I just discovered that the return of the EBUSY error was incorrectly rigged so that you could unload a CC module that was set to default. Its supposed to be an EBUSY error. Make it so. Reviewed by: Michael Tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D33229
This commit is contained in:
parent
fe96f62d61
commit
dcf2dfed26
@ -246,14 +246,13 @@ cc_deregister_algo(struct cc_algo *remove_cc)
|
||||
STAILQ_FOREACH_SAFE(funcs, &cc_list, entries, tmpfuncs) {
|
||||
if (funcs == remove_cc) {
|
||||
if (cc_check_default(remove_cc)) {
|
||||
err = EBUSY;
|
||||
break;
|
||||
CC_LIST_WUNLOCK();
|
||||
return(EBUSY);
|
||||
}
|
||||
/* Add a temp flag to stop new adds to it */
|
||||
funcs->flags |= CC_MODULE_BEING_REMOVED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
remove_cc->flags |= CC_MODULE_BEING_REMOVED;
|
||||
CC_LIST_WUNLOCK();
|
||||
err = tcp_ccalgounload(remove_cc);
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user