tc, bpf: use bind/type macros from gelf

Don't reimplement them and rather use the macros from the gelf header,
that is, GELF_ST_BIND()/GELF_ST_TYPE().

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
Daniel Borkmann 2016-02-07 02:11:53 +01:00 committed by Stephen Hemminger
parent a576c6b977
commit 5230a2ede0
1 changed files with 2 additions and 5 deletions

View File

@ -1162,9 +1162,6 @@ static int bpf_map_attach(const char *name, const struct bpf_elf_map *map,
return fd;
}
#define __ELF_ST_BIND(x) ((x) >> 4)
#define __ELF_ST_TYPE(x) (((unsigned int) x) & 0xf)
static const char *bpf_str_tab_name(const struct bpf_elf_ctx *ctx,
const GElf_Sym *sym)
{
@ -1180,8 +1177,8 @@ static const char *bpf_map_fetch_name(struct bpf_elf_ctx *ctx, int which)
if (gelf_getsym(ctx->sym_tab, i, &sym) != &sym)
continue;
if (__ELF_ST_BIND(sym.st_info) != STB_GLOBAL ||
__ELF_ST_TYPE(sym.st_info) != STT_NOTYPE ||
if (GELF_ST_BIND(sym.st_info) != STB_GLOBAL ||
GELF_ST_TYPE(sym.st_info) != STT_NOTYPE ||
sym.st_shndx != ctx->sec_maps ||
sym.st_value / sizeof(struct bpf_elf_map) != which)
continue;