在 2024/10/10 19:26, David Howells 写道:
Zizhi Wo <wozizhi@xxxxxxxxxx> wrote:+ spin_lock(&object->lock); if (object->file) { fput(object->file); object->file = NULL; } + spin_unlock(&object->lock);I would suggest stashing the file pointer in a local var and then doing the fput() outside of the locks. David
If fput() is executed outside the lock, I am currently unsure how to guarantee that file in __cachefiles_write() does not trigger null pointer dereference... Thanks, Zizhi Wo