In the Linux kernel, the following vulnerability has been resolved: nvmet-fc: avoid scheduling association deletion twice When forcefully shutting down a port via the configfs interface, nvmet_port_subsys_drop_link() first calls nvmet_port_del_ctrls() and then nvmet_disable_port(). Both functions will eventually schedule all remaining associations for deletion. The current implementation checks whether an association is about to be removed, but only after the work item has already been scheduled. As a result, it is possible for the first scheduled work item to free all resources, and then for the same work item to be scheduled again for deletion. Because the association list is an RCU list, it is not possible to take a lock and remove the list entry directly, so it cannot be looked up again. Instead, a flag (terminating) must be used to determine whether the association is already in the process of being deleted.
https://git.kernel.org/stable/c/f2537be4f8421f6495edfa0bc284d722f253841d
https://git.kernel.org/stable/c/c09ac9a63fc3aaf4670ad7b5e4f5afd764424154
https://git.kernel.org/stable/c/85e2ce1920cb511d57aae59f0df6ff85b28bf04d
https://git.kernel.org/stable/c/601ed47b2363c24d948d7bac0c23abc8bd459570
https://git.kernel.org/stable/c/2f4852db87e25d4e226b25cb6f652fef9504360e
https://git.kernel.org/stable/c/04d17540ef51e2c291eb863ca87fd332259b2d40