Am Dienstag, den 15.09.2020, 19:30 +0900 schrieb Tetsuo Handa: > On 2020/09/15 18:14, Oliver Neukum wrote > > Is there something we can do in flush()? > > I consider that wdm_flush() is a wrong place to return an error. It is possible that I am afraid that is a basic problem we need to resolve. As I understand it, flush() as a method exists precisely to report errors. Otherwise you could implement it in release(). But this is not called for every close(). Hence a driver is supposed to start IO upon write() and report the result to the next call, which can be either write() or close(), the latter corresponding to flush(). > a userspace process reaches wdm_flush() due to being killed by SIGKILL (rather than > via calling close() syscall). Then, that userspace process will never receive the error If you are killed by a signal you are in a race condition anyway. It cannot be handled. > fetched from wdm_flush(). Also, if that userspace process is killed by the OOM killer, > being able to terminate and release resources as soon as possible is more preferable > than try to wait for response. Right, so should we just proceed in case of a dieing task? How do we do that? Regards Oliver