From: Vyacheslav Cherkashin Date: Fri, 19 Jun 2015 05:43:14 +0000 (+0300) Subject: [FIX] NULL pointer dereference X-Git-Tag: submit/tizen/20151123.110932~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d8acb8dacee3fc6d4a9cbba7845f8cc157cc2537;p=kernel%2Fswap-modules.git [FIX] NULL pointer dereference when wrong probe type Change-Id: I581a7e56a6dc5a1692d6607ef7aeea277c374234 Signed-off-by: Vyacheslav Cherkashin --- diff --git a/us_manager/sspt/sspt.h b/us_manager/sspt/sspt.h index 6524776..3199ae7 100644 --- a/us_manager/sspt/sspt.h +++ b/us_manager/sspt/sspt.h @@ -58,6 +58,7 @@ static inline int sspt_register_usprobe(struct us_ip *ip) return -EINVAL; } + up->kp.addr = (kprobe_opcode_t *)ip->orig_addr; up->task = ip->page->file->proc->task; up->sm = ip->page->file->proc->sm; diff --git a/us_manager/sspt/sspt_page.c b/us_manager/sspt/sspt_page.c index 40413a2..a701ecf 100644 --- a/us_manager/sspt/sspt_page.c +++ b/us_manager/sspt/sspt_page.c @@ -141,8 +141,6 @@ int sspt_register_page(struct sspt_page *page, struct sspt_file *file) int err = 0; struct us_ip *ip, *n; struct list_head ip_list_tmp; - struct uprobe *up; - unsigned long addr; spin_lock(&page->lock); if (list_empty(&page->ip_list_no_inst)) { @@ -160,12 +158,8 @@ int sspt_register_page(struct sspt_page *page, struct sspt_file *file) spin_unlock(&page->lock); list_for_each_entry_safe(ip, n, &ip_list_tmp, list) { - /* set uprobe address */ - addr = file->vm_start + page->offset + ip->offset; - - ip->orig_addr = addr; - up = probe_info_get_uprobe(ip->info, ip); - up->kp.addr = (kprobe_opcode_t *)addr; + /* set virtual address */ + ip->orig_addr = file->vm_start + page->offset + ip->offset; err = sspt_register_usprobe(ip); if (err) {