diff options
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace_ksym.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/kernel/trace/trace_ksym.c b/kernel/trace/trace_ksym.c index 9f040e42f51..c538b15b95d 100644 --- a/kernel/trace/trace_ksym.c +++ b/kernel/trace/trace_ksym.c | |||
@@ -200,12 +200,9 @@ int process_new_ksym_entry(char *ksymname, int op, unsigned long addr) | |||
200 | entry->ksym_hbp = register_wide_hw_breakpoint(entry->ksym_addr, | 200 | entry->ksym_hbp = register_wide_hw_breakpoint(entry->ksym_addr, |
201 | entry->len, entry->type, | 201 | entry->len, entry->type, |
202 | ksym_hbp_handler, true); | 202 | ksym_hbp_handler, true); |
203 | |||
203 | if (IS_ERR(entry->ksym_hbp)) { | 204 | if (IS_ERR(entry->ksym_hbp)) { |
204 | entry->ksym_hbp = NULL; | ||
205 | ret = PTR_ERR(entry->ksym_hbp); | 205 | ret = PTR_ERR(entry->ksym_hbp); |
206 | } | ||
207 | |||
208 | if (!entry->ksym_hbp) { | ||
209 | printk(KERN_INFO "ksym_tracer request failed. Try again" | 206 | printk(KERN_INFO "ksym_tracer request failed. Try again" |
210 | " later!!\n"); | 207 | " later!!\n"); |
211 | goto err; | 208 | goto err; |
@@ -332,21 +329,16 @@ static ssize_t ksym_trace_filter_write(struct file *file, | |||
332 | if (changed) { | 329 | if (changed) { |
333 | unregister_wide_hw_breakpoint(entry->ksym_hbp); | 330 | unregister_wide_hw_breakpoint(entry->ksym_hbp); |
334 | entry->type = op; | 331 | entry->type = op; |
332 | ret = 0; | ||
335 | if (op > 0) { | 333 | if (op > 0) { |
336 | entry->ksym_hbp = | 334 | entry->ksym_hbp = |
337 | register_wide_hw_breakpoint(entry->ksym_addr, | 335 | register_wide_hw_breakpoint(entry->ksym_addr, |
338 | entry->len, entry->type, | 336 | entry->len, entry->type, |
339 | ksym_hbp_handler, true); | 337 | ksym_hbp_handler, true); |
340 | if (IS_ERR(entry->ksym_hbp)) | 338 | if (IS_ERR(entry->ksym_hbp)) |
341 | entry->ksym_hbp = NULL; | 339 | ret = PTR_ERR(entry->ksym_hbp); |
342 | 340 | else | |
343 | /* modified without problem */ | ||
344 | if (entry->ksym_hbp) { | ||
345 | ret = 0; | ||
346 | goto out; | 341 | goto out; |
347 | } | ||
348 | } else { | ||
349 | ret = 0; | ||
350 | } | 342 | } |
351 | /* Error or "symbol:---" case: drop it */ | 343 | /* Error or "symbol:---" case: drop it */ |
352 | ksym_filter_entry_count--; | 344 | ksym_filter_entry_count--; |