On Fri, Nov 25, 2022 at 05:48:02PM +0100, Bartosz Golaszewski wrote: > On Fri, Nov 25, 2022 at 5:24 PM Kent Gibson <warthog618@xxxxxxxxx> wrote: ... > Then at the subsystem level, the GPIO device struct would need a lock > that would be taken by every user-space operation AND the code > unregistering the device so that we don't do what you described (i.e. > if there's a thread doing a read(), then let's wait until it returns > before we drop the device). It's called a reference counting, basically you need to get device and then put when it makes sense. > This wouldn't fix the case in which the same situation happened in a > kernel driver but crashing the kernel from within is a much lesser > offense than allowing user-space to crash it. -- With Best Regards, Andy Shevchenko