diff options
Diffstat (limited to 'kernel/events/core.c')
| -rw-r--r-- | kernel/events/core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/events/core.c b/kernel/events/core.c index 59412d037eed..4d3124b39277 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c | |||
| @@ -4737,7 +4737,8 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event) | |||
| 4737 | } else { | 4737 | } else { |
| 4738 | if (arch_vma_name(mmap_event->vma)) { | 4738 | if (arch_vma_name(mmap_event->vma)) { |
| 4739 | name = strncpy(tmp, arch_vma_name(mmap_event->vma), | 4739 | name = strncpy(tmp, arch_vma_name(mmap_event->vma), |
| 4740 | sizeof(tmp)); | 4740 | sizeof(tmp) - 1); |
| 4741 | tmp[sizeof(tmp) - 1] = '\0'; | ||
| 4741 | goto got_name; | 4742 | goto got_name; |
| 4742 | } | 4743 | } |
| 4743 | 4744 | ||
| @@ -5330,7 +5331,7 @@ static void sw_perf_event_destroy(struct perf_event *event) | |||
| 5330 | 5331 | ||
| 5331 | static int perf_swevent_init(struct perf_event *event) | 5332 | static int perf_swevent_init(struct perf_event *event) |
| 5332 | { | 5333 | { |
| 5333 | int event_id = event->attr.config; | 5334 | u64 event_id = event->attr.config; |
| 5334 | 5335 | ||
| 5335 | if (event->attr.type != PERF_TYPE_SOFTWARE) | 5336 | if (event->attr.type != PERF_TYPE_SOFTWARE) |
| 5336 | return -ENOENT; | 5337 | return -ENOENT; |
| @@ -5986,6 +5987,7 @@ skip_type: | |||
| 5986 | if (pmu->pmu_cpu_context) | 5987 | if (pmu->pmu_cpu_context) |
| 5987 | goto got_cpu_context; | 5988 | goto got_cpu_context; |
| 5988 | 5989 | ||
| 5990 | ret = -ENOMEM; | ||
| 5989 | pmu->pmu_cpu_context = alloc_percpu(struct perf_cpu_context); | 5991 | pmu->pmu_cpu_context = alloc_percpu(struct perf_cpu_context); |
| 5990 | if (!pmu->pmu_cpu_context) | 5992 | if (!pmu->pmu_cpu_context) |
| 5991 | goto free_dev; | 5993 | goto free_dev; |
