Hi Hamish, I am hitting a regression with your patch:
commit a93e7b331568227500186a465fee3c2cb5dffd1f Author: Hamish Martin <hamish.mar...@alliedtelesis.co.nz> Date: Mon May 14 13:32:23 2018 +1200 uio: Prevent device destruction while fds are open The problem is the addition of spin_lock_irqsave in uio_write. This leads to hitting uio_write -> copy_from_user -> _copy_from_user -> might_fault and the logs filling up with sleeping warnings. I also noticed some uio drivers allocate memory, sleep, grab mutexes from callouts like open() and release and uio is now doing spin_lock_irqsave while calling them. Note target_core_user's irqcontrol looks buggy and was just doing more work than it should in that callout. I can fix that driver.