IOCTL_TGID

This commit is contained in:
zy
2023-12-05 02:42:07 -05:00
parent 520f8db7e5
commit ff9a379cbc
4 changed files with 107 additions and 26 deletions

View File

@@ -44,15 +44,15 @@ static int device_release(struct inode *inode, struct file *file) {
}
typedef struct {
int pid;
} ioctl_pid;
int id;
} ioctl_id;
static long device_ioctl(struct file *file, unsigned int ioctl_num,
unsigned long ioctl_param) {
int ret = 0;
watch_arg warg;
ioctl_dump_param dump_param;
ioctl_pid wpid;
ioctl_id wid;
printk(KERN_INFO "variable_monitor fun: %s with ioctl_num %d\n", __FUNCTION__,
ioctl_num);
@@ -91,8 +91,13 @@ static long device_ioctl(struct file *file, unsigned int ioctl_num,
break;
case IOCTL_PID:
printk(KERN_INFO "variable_monitor PID\n");
ret = copy_from_user(&wpid, (ioctl_pid *)ioctl_param, sizeof(ioctl_pid));
diag_pid(wpid.pid);
ret = copy_from_user(&wid, (ioctl_id *)ioctl_param, sizeof(ioctl_id));
diag_pid(wid.id);
break;
case IOCTL_TGID:
printk(KERN_INFO "variable_monitor TGID\n");
ret = copy_from_user(&wid, (ioctl_id *)ioctl_param, sizeof(ioctl_id));
diag_tgid(wid.id);
break;
default:
break;