In the Linux kernel, the following vulnerability has been resolved: tracing: Add downwrite(traceeventsem) when adding trace event When a module is loaded, it adds trace events defined by the module. It may also need to modify the modules trace printk formats to replace enum names with their values. If two modules are loaded at the same time, the adding of the event to the ftraceevents list can corrupt the walking of the list in the code that is modifying the printk format strings and crash the kernel. The addition of the event should take the traceeventsem for write while it adds the new event. Also add a lockdepassertheld() on that semaphore in _traceaddeventdirs() as it iterates the list.