On 12/18/20 8:15 AM, Bodo Stroesser wrote: > tcmu calls uio_unregister_device from tcmu_destroy_device. > After that uio will never call tcmu_release for this device. > If userspace still had the uio device open and / or mmap'ed > during uio_unregister_device, tcmu_release will not be called and > udev->kref will never go down to 0. > I didn't get why the release function is not called if you call uio_unregister_device while a device is open. Does the device_destroy call in uio_unregister_device completely free the device or does it set some bits so uio_release is not called later? Do other drivers hit this? Should uio have refcounting so uio_release is called when the last ref (from userspace open/close/mmap calls and from the kernel by drivers like target_core_user) is done?