aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/uapi/sound/asound.h6
-rw-r--r--kernel/events/core.c6
-rw-r--r--tools/arch/x86/include/asm/disabled-features.h1
-rw-r--r--tools/arch/x86/include/asm/required-features.h1
-rw-r--r--tools/arch/x86/include/uapi/asm/unistd.h1
-rw-r--r--tools/arch/x86/lib/memcpy_64.S5
-rw-r--r--tools/include/asm-generic/bitops/__fls.h1
-rw-r--r--tools/include/asm-generic/bitops/arch_hweight.h1
-rw-r--r--tools/include/asm-generic/bitops/const_hweight.h1
-rw-r--r--tools/include/asm-generic/bitops/fls.h1
-rw-r--r--tools/include/asm-generic/bitops/fls64.h1
-rw-r--r--tools/include/asm/export.h7
-rw-r--r--tools/include/linux/hash.h1
-rw-r--r--tools/include/uapi/asm-generic/ioctls.h1
-rw-r--r--tools/include/uapi/asm-generic/mman-common.h1
-rw-r--r--tools/include/uapi/asm-generic/mman.h4
-rw-r--r--tools/include/uapi/linux/bpf.h4
-rw-r--r--tools/include/uapi/linux/bpf_common.h2
-rw-r--r--tools/include/uapi/linux/fcntl.h2
-rw-r--r--tools/include/uapi/linux/hw_breakpoint.h2
-rw-r--r--tools/include/uapi/linux/kvm.h1
-rw-r--r--tools/include/uapi/linux/mman.h2
-rw-r--r--tools/include/uapi/linux/perf_event.h1
-rw-r--r--tools/include/uapi/linux/sched.h1
-rw-r--r--tools/include/uapi/linux/stat.h2
-rw-r--r--tools/include/uapi/linux/vhost.h1
-rw-r--r--tools/include/uapi/sound/asound.h1
-rw-r--r--tools/perf/util/annotate.c12
-rw-r--r--tools/perf/util/parse-events.l8
29 files changed, 57 insertions, 21 deletions
diff --git a/include/uapi/sound/asound.h b/include/uapi/sound/asound.h
index 299a822d2c4e..c227ccba60ae 100644
--- a/include/uapi/sound/asound.h
+++ b/include/uapi/sound/asound.h
@@ -94,7 +94,7 @@ enum {
94 SNDRV_HWDEP_IFACE_VX, /* Digigram VX cards */ 94 SNDRV_HWDEP_IFACE_VX, /* Digigram VX cards */
95 SNDRV_HWDEP_IFACE_MIXART, /* Digigram miXart cards */ 95 SNDRV_HWDEP_IFACE_MIXART, /* Digigram miXart cards */
96 SNDRV_HWDEP_IFACE_USX2Y, /* Tascam US122, US224 & US428 usb */ 96 SNDRV_HWDEP_IFACE_USX2Y, /* Tascam US122, US224 & US428 usb */
97 SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, /* EmuX wavetable */ 97 SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, /* EmuX wavetable */
98 SNDRV_HWDEP_IFACE_BLUETOOTH, /* Bluetooth audio */ 98 SNDRV_HWDEP_IFACE_BLUETOOTH, /* Bluetooth audio */
99 SNDRV_HWDEP_IFACE_USX2Y_PCM, /* Tascam US122, US224 & US428 rawusb pcm */ 99 SNDRV_HWDEP_IFACE_USX2Y_PCM, /* Tascam US122, US224 & US428 rawusb pcm */
100 SNDRV_HWDEP_IFACE_PCXHR, /* Digigram PCXHR */ 100 SNDRV_HWDEP_IFACE_PCXHR, /* Digigram PCXHR */
@@ -384,7 +384,7 @@ struct snd_mask {
384 384
385struct snd_pcm_hw_params { 385struct snd_pcm_hw_params {
386 unsigned int flags; 386 unsigned int flags;
387 struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK - 387 struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
388 SNDRV_PCM_HW_PARAM_FIRST_MASK + 1]; 388 SNDRV_PCM_HW_PARAM_FIRST_MASK + 1];
389 struct snd_mask mres[5]; /* reserved masks */ 389 struct snd_mask mres[5]; /* reserved masks */
390 struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL - 390 struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
@@ -857,7 +857,7 @@ typedef int __bitwise snd_ctl_elem_iface_t;
857#define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8) /* control does actually nothing, but may be updated */ 857#define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8) /* control does actually nothing, but may be updated */
858#define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9) /* write lock */ 858#define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9) /* write lock */
859#define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */ 859#define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */
860#define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */ 860#define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */
861#define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */ 861#define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */
862/* bits 30 and 31 are obsoleted (for indirect access) */ 862/* bits 30 and 31 are obsoleted (for indirect access) */
863 863
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 9d93db81fa36..10cdb9c26b5d 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -901,9 +901,11 @@ list_update_cgroup_event(struct perf_event *event,
901 cpuctx_entry = &cpuctx->cgrp_cpuctx_entry; 901 cpuctx_entry = &cpuctx->cgrp_cpuctx_entry;
902 /* cpuctx->cgrp is NULL unless a cgroup event is active in this CPU .*/ 902 /* cpuctx->cgrp is NULL unless a cgroup event is active in this CPU .*/
903 if (add) { 903 if (add) {
904 struct perf_cgroup *cgrp = perf_cgroup_from_task(current, ctx);
905
904 list_add(cpuctx_entry, this_cpu_ptr(&cgrp_cpuctx_list)); 906 list_add(cpuctx_entry, this_cpu_ptr(&cgrp_cpuctx_list));
905 if (perf_cgroup_from_task(current, ctx) == event->cgrp) 907 if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup))
906 cpuctx->cgrp = event->cgrp; 908 cpuctx->cgrp = cgrp;
907 } else { 909 } else {
908 list_del(cpuctx_entry); 910 list_del(cpuctx_entry);
909 cpuctx->cgrp = NULL; 911 cpuctx->cgrp = NULL;
diff --git a/tools/arch/x86/include/asm/disabled-features.h b/tools/arch/x86/include/asm/disabled-features.h
index c1a6d5d0da0d..c10c9128f54e 100644
--- a/tools/arch/x86/include/asm/disabled-features.h
+++ b/tools/arch/x86/include/asm/disabled-features.h
@@ -1,4 +1,3 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_DISABLED_FEATURES_H 1#ifndef _ASM_X86_DISABLED_FEATURES_H
3#define _ASM_X86_DISABLED_FEATURES_H 2#define _ASM_X86_DISABLED_FEATURES_H
4 3
diff --git a/tools/arch/x86/include/asm/required-features.h b/tools/arch/x86/include/asm/required-features.h
index 59ac6baafb6a..d91ba04dd007 100644
--- a/tools/arch/x86/include/asm/required-features.h
+++ b/tools/arch/x86/include/asm/required-features.h
@@ -1,4 +1,3 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_REQUIRED_FEATURES_H 1#ifndef _ASM_X86_REQUIRED_FEATURES_H
3#define _ASM_X86_REQUIRED_FEATURES_H 2#define _ASM_X86_REQUIRED_FEATURES_H
4 3
diff --git a/tools/arch/x86/include/uapi/asm/unistd.h b/tools/arch/x86/include/uapi/asm/unistd.h
index a26df0d75cd0..30d7d04d72d6 100644
--- a/tools/arch/x86/include/uapi/asm/unistd.h
+++ b/tools/arch/x86/include/uapi/asm/unistd.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef _UAPI_ASM_X86_UNISTD_H 2#ifndef _UAPI_ASM_X86_UNISTD_H
2#define _UAPI_ASM_X86_UNISTD_H 3#define _UAPI_ASM_X86_UNISTD_H
3 4
diff --git a/tools/arch/x86/lib/memcpy_64.S b/tools/arch/x86/lib/memcpy_64.S
index ecf2c2067281..9a53a06e5a3e 100644
--- a/tools/arch/x86/lib/memcpy_64.S
+++ b/tools/arch/x86/lib/memcpy_64.S
@@ -1,10 +1,10 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright 2002 Andi Kleen */ 1/* Copyright 2002 Andi Kleen */
3 2
4#include <linux/linkage.h> 3#include <linux/linkage.h>
5#include <asm/errno.h> 4#include <asm/errno.h>
6#include <asm/cpufeatures.h> 5#include <asm/cpufeatures.h>
7#include <asm/alternative-asm.h> 6#include <asm/alternative-asm.h>
7#include <asm/export.h>
8 8
9/* 9/*
10 * We build a jump to memcpy_orig by default which gets NOPped out on 10 * We build a jump to memcpy_orig by default which gets NOPped out on
@@ -41,6 +41,8 @@ ENTRY(memcpy)
41 ret 41 ret
42ENDPROC(memcpy) 42ENDPROC(memcpy)
43ENDPROC(__memcpy) 43ENDPROC(__memcpy)
44EXPORT_SYMBOL(memcpy)
45EXPORT_SYMBOL(__memcpy)
44 46
45/* 47/*
46 * memcpy_erms() - enhanced fast string memcpy. This is faster and 48 * memcpy_erms() - enhanced fast string memcpy. This is faster and
@@ -275,6 +277,7 @@ ENTRY(memcpy_mcsafe_unrolled)
275 xorq %rax, %rax 277 xorq %rax, %rax
276 ret 278 ret
277ENDPROC(memcpy_mcsafe_unrolled) 279ENDPROC(memcpy_mcsafe_unrolled)
280EXPORT_SYMBOL_GPL(memcpy_mcsafe_unrolled)
278 281
279 .section .fixup, "ax" 282 .section .fixup, "ax"
280 /* Return -EFAULT for any failure */ 283 /* Return -EFAULT for any failure */
diff --git a/tools/include/asm-generic/bitops/__fls.h b/tools/include/asm-generic/bitops/__fls.h
index a60a7ccb6782..03f721a8a2b1 100644
--- a/tools/include/asm-generic/bitops/__fls.h
+++ b/tools/include/asm-generic/bitops/__fls.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_GENERIC_BITOPS___FLS_H_ 2#ifndef _ASM_GENERIC_BITOPS___FLS_H_
2#define _ASM_GENERIC_BITOPS___FLS_H_ 3#define _ASM_GENERIC_BITOPS___FLS_H_
3 4
diff --git a/tools/include/asm-generic/bitops/arch_hweight.h b/tools/include/asm-generic/bitops/arch_hweight.h
index 6a211f40665c..c2705e1d220d 100644
--- a/tools/include/asm-generic/bitops/arch_hweight.h
+++ b/tools/include/asm-generic/bitops/arch_hweight.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ 2#ifndef _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_
2#define _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ 3#define _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_
3 4
diff --git a/tools/include/asm-generic/bitops/const_hweight.h b/tools/include/asm-generic/bitops/const_hweight.h
index 0a7e06623470..149faeeeeaf2 100644
--- a/tools/include/asm-generic/bitops/const_hweight.h
+++ b/tools/include/asm-generic/bitops/const_hweight.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ 2#ifndef _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_
2#define _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ 3#define _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_
3 4
diff --git a/tools/include/asm-generic/bitops/fls.h b/tools/include/asm-generic/bitops/fls.h
index 0576d1f42f43..753aecaab641 100644
--- a/tools/include/asm-generic/bitops/fls.h
+++ b/tools/include/asm-generic/bitops/fls.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_GENERIC_BITOPS_FLS_H_ 2#ifndef _ASM_GENERIC_BITOPS_FLS_H_
2#define _ASM_GENERIC_BITOPS_FLS_H_ 3#define _ASM_GENERIC_BITOPS_FLS_H_
3 4
diff --git a/tools/include/asm-generic/bitops/fls64.h b/tools/include/asm-generic/bitops/fls64.h
index b097cf8444e3..866f2b2304ff 100644
--- a/tools/include/asm-generic/bitops/fls64.h
+++ b/tools/include/asm-generic/bitops/fls64.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1#ifndef _ASM_GENERIC_BITOPS_FLS64_H_ 2#ifndef _ASM_GENERIC_BITOPS_FLS64_H_
2#define _ASM_GENERIC_BITOPS_FLS64_H_ 3#define _ASM_GENERIC_BITOPS_FLS64_H_
3 4
diff --git a/tools/include/asm/export.h b/tools/include/asm/export.h
new file mode 100644
index 000000000000..2cb1a0d83035
--- /dev/null
+++ b/tools/include/asm/export.h
@@ -0,0 +1,7 @@
1#ifndef _TOOLS_ASM_EXPORT_H
2#define _TOOLS_ASM_EXPORT_H
3
4#define EXPORT_SYMBOL(x)
5#define EXPORT_SYMBOL_GPL(x)
6
7#endif /* _TOOLS_ASM_EXPORT_H */
diff --git a/tools/include/linux/hash.h b/tools/include/linux/hash.h
index 2c4183bbc504..ad6fa21d977b 100644
--- a/tools/include/linux/hash.h
+++ b/tools/include/linux/hash.h
@@ -1,4 +1,3 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_HASH_H 1#ifndef _LINUX_HASH_H
3#define _LINUX_HASH_H 2#define _LINUX_HASH_H
4/* Fast hashing routine for ints, longs and pointers. 3/* Fast hashing routine for ints, longs and pointers.
diff --git a/tools/include/uapi/asm-generic/ioctls.h b/tools/include/uapi/asm-generic/ioctls.h
index 14baf9f23a14..040651735662 100644
--- a/tools/include/uapi/asm-generic/ioctls.h
+++ b/tools/include/uapi/asm-generic/ioctls.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef __ASM_GENERIC_IOCTLS_H 2#ifndef __ASM_GENERIC_IOCTLS_H
2#define __ASM_GENERIC_IOCTLS_H 3#define __ASM_GENERIC_IOCTLS_H
3 4
diff --git a/tools/include/uapi/asm-generic/mman-common.h b/tools/include/uapi/asm-generic/mman-common.h
index 203268f9231e..6d319c46fd90 100644
--- a/tools/include/uapi/asm-generic/mman-common.h
+++ b/tools/include/uapi/asm-generic/mman-common.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef __ASM_GENERIC_MMAN_COMMON_H 2#ifndef __ASM_GENERIC_MMAN_COMMON_H
2#define __ASM_GENERIC_MMAN_COMMON_H 3#define __ASM_GENERIC_MMAN_COMMON_H
3 4
diff --git a/tools/include/uapi/asm-generic/mman.h b/tools/include/uapi/asm-generic/mman.h
index f7c7b4355e56..2dffcbf705b3 100644
--- a/tools/include/uapi/asm-generic/mman.h
+++ b/tools/include/uapi/asm-generic/mman.h
@@ -1,8 +1,8 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef __ASM_GENERIC_MMAN_H 2#ifndef __ASM_GENERIC_MMAN_H
3#define __ASM_GENERIC_MMAN_H 3#define __ASM_GENERIC_MMAN_H
4 4
5#include <uapi/asm-generic/mman-common.h> 5#include <asm-generic/mman-common.h>
6 6
7#define MAP_GROWSDOWN 0x0100 /* stack-like segment */ 7#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
8#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ 8#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h
index 01cc7ba39924..30f2ce76b517 100644
--- a/tools/include/uapi/linux/bpf.h
+++ b/tools/include/uapi/linux/bpf.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com 2/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
2 * 3 *
3 * This program is free software; you can redistribute it and/or 4 * This program is free software; you can redistribute it and/or
@@ -569,10 +570,9 @@ union bpf_attr {
569 * @flags: reserved for future use 570 * @flags: reserved for future use
570 * Return: 0 on success or negative error code 571 * Return: 0 on success or negative error code
571 * 572 *
572 * int bpf_sk_redirect_map(skb, map, key, flags) 573 * int bpf_sk_redirect_map(map, key, flags)
573 * Redirect skb to a sock in map using key as a lookup key for the 574 * Redirect skb to a sock in map using key as a lookup key for the
574 * sock in map. 575 * sock in map.
575 * @skb: pointer to skb
576 * @map: pointer to sockmap 576 * @map: pointer to sockmap
577 * @key: key to lookup sock in map 577 * @key: key to lookup sock in map
578 * @flags: reserved for future use 578 * @flags: reserved for future use
diff --git a/tools/include/uapi/linux/bpf_common.h b/tools/include/uapi/linux/bpf_common.h
index 64ba734aba80..18be90725ab0 100644
--- a/tools/include/uapi/linux/bpf_common.h
+++ b/tools/include/uapi/linux/bpf_common.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI__LINUX_BPF_COMMON_H__ 2#ifndef _UAPI__LINUX_BPF_COMMON_H__
3#define _UAPI__LINUX_BPF_COMMON_H__ 3#define _UAPI__LINUX_BPF_COMMON_H__
4 4
diff --git a/tools/include/uapi/linux/fcntl.h b/tools/include/uapi/linux/fcntl.h
index b6705247afe8..6448cdd9a350 100644
--- a/tools/include/uapi/linux/fcntl.h
+++ b/tools/include/uapi/linux/fcntl.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_FCNTL_H 2#ifndef _UAPI_LINUX_FCNTL_H
3#define _UAPI_LINUX_FCNTL_H 3#define _UAPI_LINUX_FCNTL_H
4 4
diff --git a/tools/include/uapi/linux/hw_breakpoint.h b/tools/include/uapi/linux/hw_breakpoint.h
index 6394ea9d5524..965e4d8606d8 100644
--- a/tools/include/uapi/linux/hw_breakpoint.h
+++ b/tools/include/uapi/linux/hw_breakpoint.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_HW_BREAKPOINT_H 2#ifndef _UAPI_LINUX_HW_BREAKPOINT_H
3#define _UAPI_LINUX_HW_BREAKPOINT_H 3#define _UAPI_LINUX_HW_BREAKPOINT_H
4 4
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h
index 838887587411..7e99999d6236 100644
--- a/tools/include/uapi/linux/kvm.h
+++ b/tools/include/uapi/linux/kvm.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef __LINUX_KVM_H 2#ifndef __LINUX_KVM_H
2#define __LINUX_KVM_H 3#define __LINUX_KVM_H
3 4
diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h
index 64d2b4e556e5..bfd5938fede6 100644
--- a/tools/include/uapi/linux/mman.h
+++ b/tools/include/uapi/linux/mman.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_MMAN_H 2#ifndef _UAPI_LINUX_MMAN_H
3#define _UAPI_LINUX_MMAN_H 3#define _UAPI_LINUX_MMAN_H
4 4
diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h
index 140ae638cfd6..362493a2f950 100644
--- a/tools/include/uapi/linux/perf_event.h
+++ b/tools/include/uapi/linux/perf_event.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1/* 2/*
2 * Performance events: 3 * Performance events:
3 * 4 *
diff --git a/tools/include/uapi/linux/sched.h b/tools/include/uapi/linux/sched.h
index e2a6c7b3510b..30a9e51bbb1e 100644
--- a/tools/include/uapi/linux/sched.h
+++ b/tools/include/uapi/linux/sched.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef _UAPI_LINUX_SCHED_H 2#ifndef _UAPI_LINUX_SCHED_H
2#define _UAPI_LINUX_SCHED_H 3#define _UAPI_LINUX_SCHED_H
3 4
diff --git a/tools/include/uapi/linux/stat.h b/tools/include/uapi/linux/stat.h
index 9eac599afd91..7b35e98d3c58 100644
--- a/tools/include/uapi/linux/stat.h
+++ b/tools/include/uapi/linux/stat.h
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */ 1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_STAT_H 2#ifndef _UAPI_LINUX_STAT_H
3#define _UAPI_LINUX_STAT_H 3#define _UAPI_LINUX_STAT_H
4 4
diff --git a/tools/include/uapi/linux/vhost.h b/tools/include/uapi/linux/vhost.h
index 60180c0b5dc6..c51f8e5cc608 100644
--- a/tools/include/uapi/linux/vhost.h
+++ b/tools/include/uapi/linux/vhost.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
1#ifndef _LINUX_VHOST_H 2#ifndef _LINUX_VHOST_H
2#define _LINUX_VHOST_H 3#define _LINUX_VHOST_H
3/* Userspace interface for in-kernel virtio accelerators. */ 4/* Userspace interface for in-kernel virtio accelerators. */
diff --git a/tools/include/uapi/sound/asound.h b/tools/include/uapi/sound/asound.h
index 87bf30b182df..c227ccba60ae 100644
--- a/tools/include/uapi/sound/asound.h
+++ b/tools/include/uapi/sound/asound.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
1/* 2/*
2 * Advanced Linux Sound Architecture - ALSA - Driver 3 * Advanced Linux Sound Architecture - ALSA - Driver
3 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, 4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 4397a8b6e6cd..aa66791b1bfc 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -606,9 +606,19 @@ static struct arch *arch__find(const char *name)
606int symbol__alloc_hist(struct symbol *sym) 606int symbol__alloc_hist(struct symbol *sym)
607{ 607{
608 struct annotation *notes = symbol__annotation(sym); 608 struct annotation *notes = symbol__annotation(sym);
609 const size_t size = symbol__size(sym); 609 size_t size = symbol__size(sym);
610 size_t sizeof_sym_hist; 610 size_t sizeof_sym_hist;
611 611
612 /*
613 * Add buffer of one element for zero length symbol.
614 * When sample is taken from first instruction of
615 * zero length symbol, perf still resolves it and
616 * shows symbol name in perf report and allows to
617 * annotate it.
618 */
619 if (size == 0)
620 size = 1;
621
612 /* Check for overflow when calculating sizeof_sym_hist */ 622 /* Check for overflow when calculating sizeof_sym_hist */
613 if (size > (SIZE_MAX - sizeof(struct sym_hist)) / sizeof(struct sym_hist_entry)) 623 if (size > (SIZE_MAX - sizeof(struct sym_hist)) / sizeof(struct sym_hist_entry))
614 return -1; 624 return -1;
diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
index dcfdafdc2f1c..6680e4fb7967 100644
--- a/tools/perf/util/parse-events.l
+++ b/tools/perf/util/parse-events.l
@@ -154,6 +154,10 @@ do { \
154 yycolumn += yyleng; \ 154 yycolumn += yyleng; \
155} while (0); 155} while (0);
156 156
157#define USER_REJECT \
158 yycolumn -= yyleng; \
159 REJECT
160
157%} 161%}
158 162
159%x mem 163%x mem
@@ -335,8 +339,8 @@ r{num_raw_hex} { return raw(yyscanner); }
335{num_hex} { return value(yyscanner, 16); } 339{num_hex} { return value(yyscanner, 16); }
336 340
337{modifier_event} { return str(yyscanner, PE_MODIFIER_EVENT); } 341{modifier_event} { return str(yyscanner, PE_MODIFIER_EVENT); }
338{bpf_object} { if (!isbpf(yyscanner)) REJECT; return str(yyscanner, PE_BPF_OBJECT); } 342{bpf_object} { if (!isbpf(yyscanner)) USER_REJECT; return str(yyscanner, PE_BPF_OBJECT); }
339{bpf_source} { if (!isbpf(yyscanner)) REJECT; return str(yyscanner, PE_BPF_SOURCE); } 343{bpf_source} { if (!isbpf(yyscanner)) USER_REJECT; return str(yyscanner, PE_BPF_SOURCE); }
340{name} { return pmu_str_check(yyscanner); } 344{name} { return pmu_str_check(yyscanner); }
341"/" { BEGIN(config); return '/'; } 345"/" { BEGIN(config); return '/'; }
342- { return '-'; } 346- { return '-'; }