|
@@ -459,7 +459,12 @@ static int logger_release(struct inode *ignored, struct file *file)
|
|
{
|
|
{
|
|
if (file->f_mode & FMODE_READ) {
|
|
if (file->f_mode & FMODE_READ) {
|
|
struct logger_reader *reader = file->private_data;
|
|
struct logger_reader *reader = file->private_data;
|
|
|
|
+ struct logger_log *log = reader->log;
|
|
|
|
+
|
|
|
|
+ mutex_lock(&log->mutex);
|
|
list_del(&reader->list);
|
|
list_del(&reader->list);
|
|
|
|
+ mutex_unlock(&log->mutex);
|
|
|
|
+
|
|
kfree(reader);
|
|
kfree(reader);
|
|
}
|
|
}
|
|
|
|
|