Loading drivers/char/diag/diagchar_core.c +6 −0 Original line number Diff line number Diff line Loading @@ -2063,6 +2063,9 @@ static int diag_ioctl_lsm_deinit(void) if (!(driver->data_ready[i] & DEINIT_TYPE)) { driver->data_ready[i] |= DEINIT_TYPE; atomic_inc(&driver->data_ready_notif[i]); DIAG_LOG(DIAG_DEBUG_USERSPACE, "Setting DEINIT_TYPE for pid: %d\n", current->tgid); } mutex_unlock(&driver->diagchar_mutex); wake_up_interruptible(&driver->wait_q); Loading Loading @@ -3757,6 +3760,9 @@ static ssize_t diagchar_read(struct file *file, char __user *buf, size_t count, COPY_USER_SPACE_OR_ERR(buf, data_type, 4); if (ret == -EFAULT) goto exit; DIAG_LOG(DIAG_DEBUG_USERSPACE, "Copied DEINIT_TYPE pkt current->tgid: %d\n", current->tgid); driver->data_ready[index] ^= DEINIT_TYPE; atomic_dec(&driver->data_ready_notif[index]); mutex_unlock(&driver->diagchar_mutex); Loading Loading
drivers/char/diag/diagchar_core.c +6 −0 Original line number Diff line number Diff line Loading @@ -2063,6 +2063,9 @@ static int diag_ioctl_lsm_deinit(void) if (!(driver->data_ready[i] & DEINIT_TYPE)) { driver->data_ready[i] |= DEINIT_TYPE; atomic_inc(&driver->data_ready_notif[i]); DIAG_LOG(DIAG_DEBUG_USERSPACE, "Setting DEINIT_TYPE for pid: %d\n", current->tgid); } mutex_unlock(&driver->diagchar_mutex); wake_up_interruptible(&driver->wait_q); Loading Loading @@ -3757,6 +3760,9 @@ static ssize_t diagchar_read(struct file *file, char __user *buf, size_t count, COPY_USER_SPACE_OR_ERR(buf, data_type, 4); if (ret == -EFAULT) goto exit; DIAG_LOG(DIAG_DEBUG_USERSPACE, "Copied DEINIT_TYPE pkt current->tgid: %d\n", current->tgid); driver->data_ready[index] ^= DEINIT_TYPE; atomic_dec(&driver->data_ready_notif[index]); mutex_unlock(&driver->diagchar_mutex); Loading