[ldv-project] [BUG] act_ife: sleeping functions called in atomic context
Alexey Khoroshilov
khoroshilov at ispras.ru
Thu Jun 16 23:50:19 MSK 2016
tcf_ife_init() contains a big chunk of code executed with
ife->tcf_lock spinlock held. But that code contains several calls
to sleeping functions:
populate_metalist() and use_all_metadata()
-> add_metainfo()
-> find_ife_oplist(metaid)
-> read_lock()
-> try_module_get(o->owner)
-> kzalloc(sizeof(*mi), GFP_KERNEL);
-> ops->alloc(mi, metaval);
-> module_put(ops->owner);
_tcf_ife_cleanup()
-> module_put()
The same problem is actual for tcf_ife_cleanup() as well.
Found by Linux Driver Verification project (linuxtesting.org).
--
Alexey Khoroshilov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org
More information about the ldv-project
mailing list