]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC 366584: Don't invoke semunload() if seminit() fails during MOD_LOAD.
authorJohn Baldwin <jhb@FreeBSD.org>
Thu, 10 Dec 2020 22:26:51 +0000 (22:26 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 10 Dec 2020 22:26:51 +0000 (22:26 +0000)
commitf566474bcb238106723a9e25d962983a52dc30f9
tree649fd00a22c92526cc755c425fbef5bd7747459d
parent15af8574cc269c0afc17961511aebba25bfb1607
MFC 366584: Don't invoke semunload() if seminit() fails during MOD_LOAD.

The module handler code invokes a MOD_UNLOAD event immediately if
MOD_LOAD fails.  The result was that if seminit() failed, semunload()
was invoked twice.  semunload() is not idempotent however and would
try to remove it's process_exit eventhandler twice resulting in a
panic.
sys/kern/sysv_sem.c