lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 10 Jul 2010 00:34:56 +0100 From: Matt Fleming <matt@...sole-pimps.org> To: Peter Zijlstra <peterz@...radead.org> Cc: paulus <paulus@...ba.org>, stephane eranian <eranian@...glemail.com>, Robert Richter <robert.richter@....com>, Paul Mundt <lethal@...ux-sh.org>, Frederic Weisbecker <fweisbec@...il.com>, Cyrill Gorcunov <gorcunov@...il.com>, Lin Ming <ming.m.lin@...el.com>, Yanmin <yanmin_zhang@...ux.intel.com>, Deng-Cheng Zhu <dengcheng.zhu@...il.com>, David Miller <davem@...emloft.net>, Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org, Will Deacon <will.deacon@....com> Subject: Re: [RFC][PATCH 00/13] perf pmu interface changes -v3 On Fri, 09 Jul 2010 17:52:14 +0200, Peter Zijlstra <peterz@...radead.org> wrote: > Index: linux-2.6/arch/sh/kernel/perf_event.c > =================================================================== > --- linux-2.6.orig/arch/sh/kernel/perf_event.c > +++ linux-2.6/arch/sh/kernel/perf_event.c > @@ -256,11 +256,14 @@ static int sh_pmu_add(struct perf_event > struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events); > struct hw_perf_event *hwc = &event->hw; > int idx = hwc->idx; > + int ret = -EAGAIN; > + > + perf_pmu_disable(event->pmu); > > if (__test_and_set_bit(idx, cpuc->used_mask)) { > idx = find_first_zero_bit(cpuc->used_mask, sh_pmu->num_events); > if (idx == sh_pmu->num_events) > - return -EAGAIN; > + goto ret; > > __set_bit(idx, cpuc->used_mask); > hwc->idx = idx; > @@ -273,8 +276,11 @@ static int sh_pmu_add(struct perf_event > sh_pmu_start(event, PERF_EF_RELOAD); > > perf_event_update_userpage(event); > + ret = 0; > > - return 0; > +out: > + perf_pmu_enable(event->pmu); > + return ret; > } > > static void sh_pmu_read(struct perf_event *event) This patch results in the following compilation error, CC arch/sh/kernel/perf_event.o cc1: warnings being treated as errors arch/sh/kernel/perf_event.c: In function 'sh_pmu_add': arch/sh/kernel/perf_event.c:281: error: label 'out' defined but not used arch/sh/kernel/perf_event.c:266: error: label 'ret' used but not defined arch/sh/kernel/perf_event.c: In function 'sh_pmu_setup': arch/sh/kernel/perf_event.c:343: error: parameter 'cpuhw' is initialized arch/sh/kernel/perf_event.c:343: error: 'cpu' undeclared (first use in this function) arch/sh/kernel/perf_event.c:343: error: (Each undeclared identifier is reported only once arch/sh/kernel/perf_event.c:343: error: for each function it appears in.) arch/sh/kernel/perf_event.c:343: error: left-hand operand of comma expression has no effect arch/sh/kernel/perf_event.c:345: error: expected declaration specifiers before 'memset' arch/sh/kernel/perf_event.c:346: error: expected declaration specifiers before '}' token arch/sh/kernel/perf_event.c:350: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token arch/sh/kernel/perf_event.c:366: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token arch/sh/kernel/perf_event.c:378: error: old-style parameter declarations in prototyped function definition arch/sh/kernel/perf_event.c:378: error: expected '{' at end of input make[1]: *** [arch/sh/kernel/perf_event.o] Error 1 make: *** [arch/sh/kernel/perf_event.o] Error 2 You can pick up a CodeSourcery SH toolchain from http://www.codesourcery.com/sgpp/lite/superh/portal/release1298 in case you wanted to build any further changes. Does this patch look OK? It fixes the above compilation error for me. diff --git a/arch/sh/kernel/perf_event.c b/arch/sh/kernel/perf_event.c index 3bfd70b..bcfb325 100644 --- a/arch/sh/kernel/perf_event.c +++ b/arch/sh/kernel/perf_event.c @@ -263,7 +263,7 @@ static int sh_pmu_add(struct perf_event *event, int flags) if (__test_and_set_bit(idx, cpuc->used_mask)) { idx = find_first_zero_bit(cpuc->used_mask, sh_pmu->num_events); if (idx == sh_pmu->num_events) - goto ret; + goto out; __set_bit(idx, cpuc->used_mask); hwc->idx = idx; @@ -339,7 +339,7 @@ static struct pmu pmu = { }; static void sh_pmu_setup(int cpu) - +{ struct cpu_hw_events *cpuhw = &per_cpu(cpu_hw_events, cpu); memset(cpuhw, 0, sizeof(struct cpu_hw_events)); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists