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