diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2019-04-09 17:20:07 -0400 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-04-09 20:05:46 -0400 |
commit | 3e0ddc4f3ff1436970e96e76f3df3c3b5f5173b6 (patch) | |
tree | b63d2fbe0bbbe27f537a8119ad83f09a715227e6 /kernel/bpf/syscall.c | |
parent | 87df15de441bd4add7876ef584da8cabdd9a042a (diff) |
bpf: allow . char as part of the object name
Trivial addition to allow '.' aside from '_' as "special" characters
in the object name. Used to allow for substrings in maps from loader
side such as ".bss", ".data", ".rodata", but could also be useful for
other purposes.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r-- | kernel/bpf/syscall.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index b3ce516e5a20..198c9680bf0d 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c | |||
@@ -474,10 +474,10 @@ static int bpf_obj_name_cpy(char *dst, const char *src) | |||
474 | const char *end = src + BPF_OBJ_NAME_LEN; | 474 | const char *end = src + BPF_OBJ_NAME_LEN; |
475 | 475 | ||
476 | memset(dst, 0, BPF_OBJ_NAME_LEN); | 476 | memset(dst, 0, BPF_OBJ_NAME_LEN); |
477 | 477 | /* Copy all isalnum(), '_' and '.' chars. */ | |
478 | /* Copy all isalnum() and '_' char */ | ||
479 | while (src < end && *src) { | 478 | while (src < end && *src) { |
480 | if (!isalnum(*src) && *src != '_') | 479 | if (!isalnum(*src) && |
480 | *src != '_' && *src != '.') | ||
481 | return -EINVAL; | 481 | return -EINVAL; |
482 | *dst++ = *src++; | 482 | *dst++ = *src++; |
483 | } | 483 | } |