Commit 473d9734 authored by Martin KaFai Lau's avatar Martin KaFai Lau Committed by David S. Miller

bpf: Change bpf_obj_name_cpy() to better ensure map's name is init by 0

During get_info_by_fd, the prog/map name is memcpy-ed.  It depends
on the prog->aux->name and map->name to be zero initialized.

bpf_prog_aux is easy to guarantee that aux->name is zero init.

The name in bpf_map may be harder to be guaranteed in the future when
new map type is added.

Hence, this patch makes bpf_obj_name_cpy() to always zero init
the prog/map name.
Suggested-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f192970d
...@@ -322,6 +322,8 @@ static int bpf_obj_name_cpy(char *dst, const char *src) ...@@ -322,6 +322,8 @@ static int bpf_obj_name_cpy(char *dst, const char *src)
{ {
const char *end = src + BPF_OBJ_NAME_LEN; const char *end = src + BPF_OBJ_NAME_LEN;
memset(dst, 0, BPF_OBJ_NAME_LEN);
/* Copy all isalnum() and '_' char */ /* Copy all isalnum() and '_' char */
while (src < end && *src) { while (src < end && *src) {
if (!isalnum(*src) && *src != '_') if (!isalnum(*src) && *src != '_')
...@@ -333,9 +335,6 @@ static int bpf_obj_name_cpy(char *dst, const char *src) ...@@ -333,9 +335,6 @@ static int bpf_obj_name_cpy(char *dst, const char *src)
if (src == end) if (src == end)
return -EINVAL; return -EINVAL;
/* '\0' terminates dst */
*dst = 0;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment