Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7c632fc authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull perf fixes from Thomas Gleixner:

 - plug a memory leak in the intel pmu init code

 - clang fixes

 - tooling fix to avoid including kernel headers

 - a fix for jvmti to generate correct debug information for inlined
   code

 - replace backtick with a regular shell function

 - fix the build in hardened environments

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/x86/intel: Plug memory leak in intel_pmu_init()
  x86/asm: Allow again using asm.h when building for the 'bpf' clang target
  tools arch s390: Do not include header files from the kernel sources
  perf jvmti: Generate correct debug information for inlined code
  perf tools: Fix up build in hardened environments
  perf tools: Use shell function for perl cflags retrieval
parents 88fa025d 7ad1437d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3847,6 +3847,8 @@ static struct attribute *intel_pmu_attrs[] = {

__init int intel_pmu_init(void)
{
	struct attribute **extra_attr = NULL;
	struct attribute **to_free = NULL;
	union cpuid10_edx edx;
	union cpuid10_eax eax;
	union cpuid10_ebx ebx;
@@ -3854,7 +3856,6 @@ __init int intel_pmu_init(void)
	unsigned int unused;
	struct extra_reg *er;
	int version, i;
	struct attribute **extra_attr = NULL;
	char *name;

	if (!cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) {
@@ -4294,6 +4295,7 @@ __init int intel_pmu_init(void)
		extra_attr = boot_cpu_has(X86_FEATURE_RTM) ?
			hsw_format_attr : nhm_format_attr;
		extra_attr = merge_attr(extra_attr, skl_format_attr);
		to_free = extra_attr;
		x86_pmu.cpu_events = get_hsw_events_attrs();
		intel_pmu_pebs_data_source_skl(
			boot_cpu_data.x86_model == INTEL_FAM6_SKYLAKE_X);
@@ -4401,6 +4403,7 @@ __init int intel_pmu_init(void)
		pr_cont("full-width counters, ");
	}

	kfree(to_free);
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@
#endif

#ifndef __ASSEMBLY__
#ifndef __BPF__
/*
 * This output constraint should be used for any inline asm which has a "call"
 * instruction.  Otherwise the asm may be inserted before the frame pointer
@@ -145,5 +146,6 @@
register unsigned long current_stack_pointer asm(_ASM_SP);
#define ASM_CALL_CONSTRAINT "+r" (current_stack_pointer)
#endif
#endif

#endif /* _ASM_X86_ASM_H */
+44 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ASM_S390_PERF_REGS_H
#define _ASM_S390_PERF_REGS_H

enum perf_event_s390_regs {
	PERF_REG_S390_R0,
	PERF_REG_S390_R1,
	PERF_REG_S390_R2,
	PERF_REG_S390_R3,
	PERF_REG_S390_R4,
	PERF_REG_S390_R5,
	PERF_REG_S390_R6,
	PERF_REG_S390_R7,
	PERF_REG_S390_R8,
	PERF_REG_S390_R9,
	PERF_REG_S390_R10,
	PERF_REG_S390_R11,
	PERF_REG_S390_R12,
	PERF_REG_S390_R13,
	PERF_REG_S390_R14,
	PERF_REG_S390_R15,
	PERF_REG_S390_FP0,
	PERF_REG_S390_FP1,
	PERF_REG_S390_FP2,
	PERF_REG_S390_FP3,
	PERF_REG_S390_FP4,
	PERF_REG_S390_FP5,
	PERF_REG_S390_FP6,
	PERF_REG_S390_FP7,
	PERF_REG_S390_FP8,
	PERF_REG_S390_FP9,
	PERF_REG_S390_FP10,
	PERF_REG_S390_FP11,
	PERF_REG_S390_FP12,
	PERF_REG_S390_FP13,
	PERF_REG_S390_FP14,
	PERF_REG_S390_FP15,
	PERF_REG_S390_MASK,
	PERF_REG_S390_PC,

	PERF_REG_S390_MAX
};

#endif /* _ASM_S390_PERF_REGS_H */
+4 −5
Original line number Diff line number Diff line
@@ -188,9 +188,7 @@ ifdef PYTHON_CONFIG
  PYTHON_EMBED_LDFLAGS := $(call strip-libs,$(PYTHON_EMBED_LDOPTS))
  PYTHON_EMBED_LIBADD := $(call grep-libs,$(PYTHON_EMBED_LDOPTS)) -lutil
  PYTHON_EMBED_CCOPTS := $(shell $(PYTHON_CONFIG_SQ) --cflags 2>/dev/null)
  ifeq ($(CC_NO_CLANG), 1)
  PYTHON_EMBED_CCOPTS := $(filter-out -specs=%,$(PYTHON_EMBED_CCOPTS))
  endif
  FLAGS_PYTHON_EMBED := $(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
endif

@@ -576,14 +574,15 @@ ifndef NO_GTK2
  endif
endif


ifdef NO_LIBPERL
  CFLAGS += -DNO_LIBPERL
else
  PERL_EMBED_LDOPTS = $(shell perl -MExtUtils::Embed -e ldopts 2>/dev/null)
  PERL_EMBED_LDFLAGS = $(call strip-libs,$(PERL_EMBED_LDOPTS))
  PERL_EMBED_LIBADD = $(call grep-libs,$(PERL_EMBED_LDOPTS))
  PERL_EMBED_CCOPTS = `perl -MExtUtils::Embed -e ccopts 2>/dev/null`
  PERL_EMBED_CCOPTS = $(shell perl -MExtUtils::Embed -e ccopts 2>/dev/null)
  PERL_EMBED_CCOPTS := $(filter-out -specs=%,$(PERL_EMBED_CCOPTS))
  PERL_EMBED_LDOPTS := $(filter-out -specs=%,$(PERL_EMBED_LDOPTS))
  FLAGS_PERL_EMBED=$(PERL_EMBED_CCOPTS) $(PERL_EMBED_LDOPTS)

  ifneq ($(feature-libperl), 1)
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@

#include <stdlib.h>
#include <linux/types.h>
#include <../../../../arch/s390/include/uapi/asm/perf_regs.h>
#include <asm/perf_regs.h>

void perf_regs_load(u64 *regs);

Loading