On Mon, Aug 13, 2018 at 04:22:47PM +0300, Shamir Rabinovitch wrote: > > > Switch the uverbs_obj_type for struct uverbs_api_object, which is > > > allocated memory that is part of the uverbs_api and is guaranteed to > > > always exist. Further this moves the 'type_class' into this memory which > > > > If issue is ro data access after module unload then the 'type_class' is > > now on kmalloc memory so it's ok to access it's data even after module > > unload. But it's data include 'uverbs_obj_type_class' which has function > > pointers that are no longer valid after module unload. Can this be an > > issue? > > Ah, I see this is taken care in 'uverbs_disassociate_api' in this line > "object_elm->type_attrs = NULL;" Yes, type_attrs is defined in the rodata of the module, it is created as the result of something like UVERBS_TYPE_ALLOC_IDR_SZ() Jason