(Adding Linus, since his tree is also broken) Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > On Thu, Mar 14, 2019 at 07:59:00PM +0000, Alan J. Wylie wrote: >> Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: >> >> > I'm announcing the release of the 5.0.2 kernel. >> >> There is a regression for AMD-only builds. > > Adding the stable list, which people should do... > >> >> See also Alec Ari's report: >> https://lkml.org/lkml/2019/3/13/1113 >> >> > If CONFIG_CPU_SUP_INTEL is disabled with either the 5.0.2 or 4.20.16 >> > kernel, it errors out right away: >> >> $ grep "CONFIG_CPU_SUP_" .config >> # CONFIG_CPU_SUP_INTEL is not set >> CONFIG_CPU_SUP_AMD=y >> # CONFIG_CPU_SUP_HYGON is not set >> # CONFIG_CPU_SUP_CENTAUR is not set >> >> CC arch/x86/events/core.o >> In file included from arch/x86/events/core.c:44: >> arch/x86/events/perf_event.h:1035:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration >> static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) >> ^~~~~~~~~~~~ >> arch/x86/events/perf_event.h:1040:45: warning: ‘struct cpu_hw_event’ declared inside parameter list will not be visible outside of this definition or declaration >> static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) >> ^~~~~~~~~~~~ >> arch/x86/events/core.c: In function ‘free_fake_cpuc’: >> arch/x86/events/core.c:1998:20: error: passing argument 1 of ‘intel_cpuc_finish’ from incompatible pointer type [-Werror=incompatible-pointer-types] >> intel_cpuc_finish(cpuc); >> ^~~~ >> In file included from arch/x86/events/core.c:44: >> arch/x86/events/perf_event.h:1040:59: note: expected ‘struct cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ >> static inline void intel_cpuc_finish(struct cpu_hw_event *cpuc) >> ~~~~~~~~~~~~~~~~~~~~~^~~~ >> arch/x86/events/core.c: In function ‘allocate_fake_cpuc’: >> arch/x86/events/core.c:2012:25: error: passing argument 1 of >> ‘intel_cpuc_prepare’ from incompatible pointer type >> [-Werror=incompatible-pointer-types] if (intel_cpuc_prepare(cpuc, >> cpu)) ^~~~ In file included from arch/x86/events/core.c:44: >> arch/x86/events/perf_event.h:1035:59: note: expected ‘struct >> cpu_hw_event *’ but argument is of type ‘struct cpu_hw_events *’ >> static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int >> cpu) ~~~~~~~~~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as >> errors > > Is this a regression? 5.0.1 was fine, git pulled, then "make oldconfig" just answering the default "N"s > If so, what commit caused this? It looks as if it's commit 3ad8e57560d7652a66da12b41c668a593509f3ad Author: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Date: Tue Mar 5 22:23:15 2019 +0100 perf/x86/intel: Make cpuc allocations consistent The cpuc data structure allocation is different between fake and real cpuc's; use the same code to init/free both. which is the commit which introduces the function: +static inline int intel_cpuc_prepare(struct cpu_hw_event *cpuc, int cpu) > Is this also an issue in Linus's tree right now? Yes, as of 3b319ee220a8795406852a897299dbdfc1b09911 CC arch/x86/entry/common.o arch/x86/events/core.c: In function ‘free_fake_cpuc’: arch/x86/events/core.c:1998:20: error: passing argument 1 of ‘intel_cpuc_finish’ from incompatible pointer type [-Werror=incompatible-pointer-types] intel_cpuc_finish(cpuc); ^~~~ Thanks Alan -- Alan J. Wylie https://www.wylie.me.uk/ Dance like no-one's watching. / Encrypt like everyone is. Security is inversely proportional to convenience