mirror of
https://github.com/gatieme/LDD-LinuxDeviceDrivers.git
synced 2026-08-20 22:04:56 +08:00
...
This commit is contained in:
@@ -5,16 +5,15 @@ ifneq ($(KERNELRELEASE),)
|
||||
|
||||
|
||||
MODULE_NAME := find-task
|
||||
|
||||
RESMAIN_CORE_OBJS := find_task.o
|
||||
RESMAIN_GLUE_OBJS := get_task.o
|
||||
|
||||
|
||||
|
||||
find-task-objs := $(RESMAIN_GLUE_OBJS) $(RESMAIN_CORE_OBJS)
|
||||
obj-m += find-task.o
|
||||
|
||||
#$(MODULE_NAME)-objs := $(RESMAIN_GLUE_OBJS) $(RESMAIN_CORE_OBJS)
|
||||
#obj-m := $(MODULE_NAME).o
|
||||
|
||||
else
|
||||
|
||||
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
|
||||
|
||||
@@ -14,25 +14,9 @@
|
||||
#include <linux/mm_types.h>
|
||||
|
||||
|
||||
void print_vm_list(struct task_struct *task)
|
||||
void print_task(struct task_struct *task)
|
||||
{
|
||||
struct vm_area_struct *tmp = task->mm->mmap;
|
||||
|
||||
printk("process:%s,pid:%d\n", task->comm, task->pid);
|
||||
|
||||
while (tmp != NULL)
|
||||
{
|
||||
|
||||
printk("0x%lx - 0x%lx\t",tmp->vm_start,tmp->vm_end);
|
||||
|
||||
(tmp->vm_flags & VM_READ) ? printk("r") : printk("-");
|
||||
(tmp->vm_flags & VM_WRITE) ? printk("w") : printk("-");
|
||||
(tmp->vm_flags & VM_EXEC) ? printk("x") : printk("-");
|
||||
(tmp->vm_flags & VM_SHARED) ? printk("s") : printk("p");
|
||||
printk("\n");
|
||||
|
||||
tmp = tmp->vm_next;
|
||||
}
|
||||
printf_task_vmarea(task)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -17,12 +17,14 @@
|
||||
(type *)( (char *)__mptr - offsetof(type,member) );})
|
||||
#endif
|
||||
|
||||
static void print_vmarea(struct vm_area_struct)
|
||||
static void print_vmarea(struct vm_area_struct *vmarea)
|
||||
{
|
||||
((tmp->vm_flags & VM_READ) == 1) ? printk("r") : printk("-");
|
||||
((tmp->vm_flags & VM_WRITE) == 1) ? printk("w") : printk("-");
|
||||
((tmp->vm_flags & VM_EXEC) == 1) ? printk("x") : printk("-");
|
||||
((tmp->vm_flags & VM_SHARED) == 1) ? printk("s") : printk("p");
|
||||
printk("0x%lx - 0x%lx\t", vmarea->vm_start, vmarea->vm_end);
|
||||
|
||||
((vmarea->vm_flags & VM_READ) == 1) ? printk("r") : printk("-");
|
||||
((vmarea->vm_flags & VM_WRITE) == 1) ? printk("w") : printk("-");
|
||||
((vmarea->vm_flags & VM_EXEC) == 1) ? printk("x") : printk("-");
|
||||
((vmarea->vm_flags & VM_SHARED) == 1) ? printk("s") : printk("p");
|
||||
|
||||
printk("\n");
|
||||
}
|
||||
@@ -31,7 +33,7 @@ static void print_vmarea_by_list(struct task_struct *task)
|
||||
{
|
||||
struct vm_area_struct *tmp = task->mm->mmap;
|
||||
|
||||
printk("process:%s,pid:%d\n", task->comm, task->pid);
|
||||
printk("process : %s, pid : %d\n", task->comm, task->pid);
|
||||
|
||||
while (tmp != NULL)
|
||||
{
|
||||
@@ -43,11 +45,9 @@ static void print_vmarea_by_list(struct task_struct *task)
|
||||
|
||||
static void visit_rbtree_node(struct rb_node *root)
|
||||
{
|
||||
struct vm_area_struct *tmp;
|
||||
struct vm_area_struct *vmarea NULL;
|
||||
|
||||
tmp = container_of(root,struct vm_area_struct,vm_rb);
|
||||
|
||||
printk("0x%lx - 0x%lx\t",tmp->vm_start,tmp->vm_end);
|
||||
vmarea = container_of(root,struct vm_area_struct,vm_rb);
|
||||
|
||||
print_vm_area(tmp);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ static void preorder_rbtree(struct rb_node *root)
|
||||
|
||||
static void print_vmarea_by_rbtree(struct task_struct *task)
|
||||
{
|
||||
struct task_struct *p;
|
||||
struct task_struct *p;
|
||||
struct pid *k;
|
||||
struct rb_node *root = NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user