--- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -639,6 +639,8 @@ static int kernfs_fop_open(struct inode */ if (has_mmap) mutex_init(&of->mutex); + else if (file->f_mode & FMODE_WRITE) + mutex_init(&of->mutex); else mutex_init(&of->mutex);