As mentioned in a comment for #7, there are a few other race conditions:
with emlog_info_list manipulation (create_einfo() vs free_einfo())
with new einfo allocation (get_einfo() vs create_einfo())
This may cause memory leaks or crashes during concurrent opening of new emlog buffers,
or concurrent closing/opening of an emlog device (when loaded with emlog_autofree=1 (defaults to off)).
As mentioned in a comment for #7, there are a few other race conditions:
emlog_info_list
manipulation (create_einfo()
vsfree_einfo()
)get_einfo()
vscreate_einfo()
)This may cause memory leaks or crashes during concurrent opening of new emlog buffers, or concurrent closing/opening of an emlog device (when loaded with
emlog_autofree=1
(defaults to off)).