| // SPDX-License-Identifier: GPL-2.0-only |
| * ksyms_common.c: A split of kernel/kallsyms.c |
| * Contains a few generic function definations independent of config KALLSYMS. |
| #include <linux/kallsyms.h> |
| #include <linux/security.h> |
| static inline int kallsyms_for_perf(void) |
| #ifdef CONFIG_PERF_EVENTS |
| extern int sysctl_perf_event_paranoid; |
| if (sysctl_perf_event_paranoid <= 1) |
| * We show kallsyms information even to normal users if we've enabled |
| * kernel profiling and are explicitly not paranoid (so kptr_restrict |
| * is clear, and sysctl_perf_event_paranoid isn't set). |
| * Otherwise, require CAP_SYSLOG (assuming kptr_restrict isn't set to |
| bool kallsyms_show_value(const struct cred *cred) |
| if (security_capable(cred, &init_user_ns, CAP_SYSLOG, |