Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
tracing: Fix null pointer deref with SEND_SIG_FORCED
perf: Fix signed comparison in perf_adjust_period()
powerpc/oprofile: fix potential buffer overrun in op_model_cell.c
perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name

+13 -5
+1 -1
arch/powerpc/oprofile/op_model_cell.c
··· 1077 1077 index = ENTRIES-1; 1078 1078 1079 1079 /* make sure index is valid */ 1080 - if ((index > ENTRIES) || (index < 0)) 1080 + if ((index >= ENTRIES) || (index < 0)) 1081 1081 index = ENTRIES-1; 1082 1082 1083 1083 return initial_lfsr[index];
+2 -1
include/trace/events/signal.h
··· 10 10 11 11 #define TP_STORE_SIGINFO(__entry, info) \ 12 12 do { \ 13 - if (info == SEND_SIG_NOINFO) { \ 13 + if (info == SEND_SIG_NOINFO || \ 14 + info == SEND_SIG_FORCED) { \ 14 15 __entry->errno = 0; \ 15 16 __entry->code = SI_USER; \ 16 17 } else if (info == SEND_SIG_PRIV) { \
+4 -1
kernel/perf_event.c
··· 1507 1507 divisor = nsec * frequency; 1508 1508 } 1509 1509 1510 + if (!divisor) 1511 + return dividend; 1512 + 1510 1513 return div64_u64(dividend, divisor); 1511 1514 } 1512 1515 ··· 1532 1529 static void perf_adjust_period(struct perf_event *event, u64 nsec, u64 count) 1533 1530 { 1534 1531 struct hw_perf_event *hwc = &event->hw; 1535 - u64 period, sample_period; 1532 + s64 period, sample_period; 1536 1533 s64 delta; 1537 1534 1538 1535 period = perf_calculate_period(event, nsec, count);
+6 -2
tools/perf/util/symbol.c
··· 1745 1745 if (symbol_conf.vmlinux_name != NULL) { 1746 1746 err = dso__load_vmlinux(self, map, 1747 1747 symbol_conf.vmlinux_name, filter); 1748 - goto out_try_fixup; 1748 + if (err > 0) { 1749 + dso__set_long_name(self, 1750 + strdup(symbol_conf.vmlinux_name)); 1751 + goto out_fixup; 1752 + } 1753 + return err; 1749 1754 } 1750 1755 1751 1756 if (vmlinux_path != NULL) { ··· 1811 1806 pr_debug("Using %s for symbols\n", kallsyms_filename); 1812 1807 free(kallsyms_allocated_filename); 1813 1808 1814 - out_try_fixup: 1815 1809 if (err > 0) { 1816 1810 out_fixup: 1817 1811 if (kallsyms_filename != NULL)