mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 02:36:02 +00:00
45b8fc3096
Make it clear that build_id_parse() assumes that it can take no page fault by renaming it and current few users to build_id_parse_nofault(). Also add build_id_parse() stub which for now falls back to non-sleepable implementation, but will be changed in subsequent patches to take advantage of sleepable context. PROCMAP_QUERY ioctl() on /proc/<pid>/maps file is using build_id_parse() and will automatically take advantage of more reliable sleepable context implementation. Reviewed-by: Eduard Zingerman <eddyz87@gmail.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20240829174232.3133883-6-andrii@kernel.org Signed-off-by: Alexei Starovoitov <ast@kernel.org>
22 lines
671 B
C
22 lines
671 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_BUILDID_H
|
|
#define _LINUX_BUILDID_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define BUILD_ID_SIZE_MAX 20
|
|
|
|
struct vm_area_struct;
|
|
int build_id_parse(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size);
|
|
int build_id_parse_nofault(struct vm_area_struct *vma, unsigned char *build_id, __u32 *size);
|
|
int build_id_parse_buf(const void *buf, unsigned char *build_id, u32 buf_size);
|
|
|
|
#if IS_ENABLED(CONFIG_STACKTRACE_BUILD_ID) || IS_ENABLED(CONFIG_VMCORE_INFO)
|
|
extern unsigned char vmlinux_build_id[BUILD_ID_SIZE_MAX];
|
|
void init_vmlinux_build_id(void);
|
|
#else
|
|
static inline void init_vmlinux_build_id(void) { }
|
|
#endif
|
|
|
|
#endif
|