aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/events/uprobes.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 5db150b306d2..bed2161620d7 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -1010,7 +1010,7 @@ static void build_probe_list(struct inode *inode, struct list_head *head)
1010int uprobe_mmap(struct vm_area_struct *vma) 1010int uprobe_mmap(struct vm_area_struct *vma)
1011{ 1011{
1012 struct list_head tmp_list; 1012 struct list_head tmp_list;
1013 struct uprobe *uprobe; 1013 struct uprobe *uprobe, *u;
1014 struct inode *inode; 1014 struct inode *inode;
1015 int ret, count; 1015 int ret, count;
1016 1016
@@ -1028,7 +1028,7 @@ int uprobe_mmap(struct vm_area_struct *vma)
1028 ret = 0; 1028 ret = 0;
1029 count = 0; 1029 count = 0;
1030 1030
1031 list_for_each_entry(uprobe, &tmp_list, pending_list) { 1031 list_for_each_entry_safe(uprobe, u, &tmp_list, pending_list) {
1032 if (!ret) { 1032 if (!ret) {
1033 loff_t vaddr = vma_address(vma, uprobe->offset); 1033 loff_t vaddr = vma_address(vma, uprobe->offset);
1034 1034
@@ -1076,7 +1076,7 @@ int uprobe_mmap(struct vm_area_struct *vma)
1076void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned long end) 1076void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned long end)
1077{ 1077{
1078 struct list_head tmp_list; 1078 struct list_head tmp_list;
1079 struct uprobe *uprobe; 1079 struct uprobe *uprobe, *u;
1080 struct inode *inode; 1080 struct inode *inode;
1081 1081
1082 if (!atomic_read(&uprobe_events) || !valid_vma(vma, false)) 1082 if (!atomic_read(&uprobe_events) || !valid_vma(vma, false))
@@ -1093,7 +1093,7 @@ void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned lon
1093 mutex_lock(uprobes_mmap_hash(inode)); 1093 mutex_lock(uprobes_mmap_hash(inode));
1094 build_probe_list(inode, &tmp_list); 1094 build_probe_list(inode, &tmp_list);
1095 1095
1096 list_for_each_entry(uprobe, &tmp_list, pending_list) { 1096 list_for_each_entry_safe(uprobe, u, &tmp_list, pending_list) {
1097 loff_t vaddr = vma_address(vma, uprobe->offset); 1097 loff_t vaddr = vma_address(vma, uprobe->offset);
1098 1098
1099 if (vaddr >= start && vaddr < end) { 1099 if (vaddr >= start && vaddr < end) {