aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2018-12-10 14:51:45 -0800
committerAlexei Starovoitov <ast@kernel.org>2018-12-10 14:51:46 -0800
commitaa570ff4fd3682d35cdcc5190c380e6c4d7d08e2 (patch)
tree5821df7fea9335a55010c21dcfba92e704c92d32
parentbpf: clean up bpf_prog_get_info_by_fd() (diff)
parenttools/bpf: rename *_info_cnt to nr_*_info (diff)
downloadlinux-dev-aa570ff4fd3682d35cdcc5190c380e6c4d7d08e2.tar.xz
linux-dev-aa570ff4fd3682d35cdcc5190c380e6c4d7d08e2.zip
Merge branch 'rename-info_cnt-to-nr_info'
Yonghong Song says: ==================== Before func_info and line_info are added to the kernel, there are several fields in structure bpf_prog_info specifying the "count" of a user buffer, e.g., __u32 nr_jited_ksyms; __u32 nr_jited_func_lens; The naming convention has the prefix "nr_". The func_info and line_info support added several fields __u32 func_info_cnt; __u32 line_info_cnt; __u32 jited_line_info_cnt; to indicate the "count" of buffers func_info, line_info and jited_line_info. The original intention is to keep the field names the same as those in structure bpf_attr, so it will be clear that the "count" returned to user space will be the same as the one passed to the kernel during prog load. Unfortunately, the field names *_info_cnt are not consistent with other existing fields in bpf_prog_info. This patch set renamed the fields *_info_cnt to nr_*_info to keep naming convention consistent. ==================== Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to '')
-rw-r--r--include/uapi/linux/bpf.h6
-rw-r--r--kernel/bpf/syscall.c38
-rw-r--r--tools/bpf/bpftool/prog.c48
-rw-r--r--tools/include/uapi/linux/bpf.h6
-rw-r--r--tools/lib/bpf/bpf_prog_linfo.c4
-rw-r--r--tools/testing/selftests/bpf/test_btf.c60
6 files changed, 81 insertions, 81 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 1bee1135866a..f943ed803309 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -2696,11 +2696,11 @@ struct bpf_prog_info {
__u32 btf_id;
__u32 func_info_rec_size;
__aligned_u64 func_info;
- __u32 func_info_cnt;
- __u32 line_info_cnt;
+ __u32 nr_func_info;
+ __u32 nr_line_info;
__aligned_u64 line_info;
__aligned_u64 jited_line_info;
- __u32 jited_line_info_cnt;
+ __u32 nr_jited_line_info;
__u32 line_info_rec_size;
__u32 jited_line_info_rec_size;
} __attribute__((aligned(8)));
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index a99a23bf5910..5745c7837621 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -2055,15 +2055,15 @@ static int set_info_rec_size(struct bpf_prog_info *info)
* _rec_size back to the info.
*/
- if ((info->func_info_cnt || info->func_info_rec_size) &&
+ if ((info->nr_func_info || info->func_info_rec_size) &&
info->func_info_rec_size != sizeof(struct bpf_func_info))
return -EINVAL;
- if ((info->line_info_cnt || info->line_info_rec_size) &&
+ if ((info->nr_line_info || info->line_info_rec_size) &&
info->line_info_rec_size != sizeof(struct bpf_line_info))
return -EINVAL;
- if ((info->jited_line_info_cnt || info->jited_line_info_rec_size) &&
+ if ((info->nr_jited_line_info || info->jited_line_info_rec_size) &&
info->jited_line_info_rec_size != sizeof(__u64))
return -EINVAL;
@@ -2125,9 +2125,9 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
info.xlated_prog_len = 0;
info.nr_jited_ksyms = 0;
info.nr_jited_func_lens = 0;
- info.func_info_cnt = 0;
- info.line_info_cnt = 0;
- info.jited_line_info_cnt = 0;
+ info.nr_func_info = 0;
+ info.nr_line_info = 0;
+ info.nr_jited_line_info = 0;
goto done;
}
@@ -2268,14 +2268,14 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
if (prog->aux->btf)
info.btf_id = btf_id(prog->aux->btf);
- ulen = info.func_info_cnt;
- info.func_info_cnt = prog->aux->func_info_cnt;
- if (info.func_info_cnt && ulen) {
+ ulen = info.nr_func_info;
+ info.nr_func_info = prog->aux->func_info_cnt;
+ if (info.nr_func_info && ulen) {
if (bpf_dump_raw_ok()) {
char __user *user_finfo;
user_finfo = u64_to_user_ptr(info.func_info);
- ulen = min_t(u32, info.func_info_cnt, ulen);
+ ulen = min_t(u32, info.nr_func_info, ulen);
if (copy_to_user(user_finfo, prog->aux->func_info,
info.func_info_rec_size * ulen))
return -EFAULT;
@@ -2284,14 +2284,14 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
}
}
- ulen = info.line_info_cnt;
- info.line_info_cnt = prog->aux->nr_linfo;
- if (info.line_info_cnt && ulen) {
+ ulen = info.nr_line_info;
+ info.nr_line_info = prog->aux->nr_linfo;
+ if (info.nr_line_info && ulen) {
if (bpf_dump_raw_ok()) {
__u8 __user *user_linfo;
user_linfo = u64_to_user_ptr(info.line_info);
- ulen = min_t(u32, info.line_info_cnt, ulen);
+ ulen = min_t(u32, info.nr_line_info, ulen);
if (copy_to_user(user_linfo, prog->aux->linfo,
info.line_info_rec_size * ulen))
return -EFAULT;
@@ -2300,18 +2300,18 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
}
}
- ulen = info.jited_line_info_cnt;
+ ulen = info.nr_jited_line_info;
if (prog->aux->jited_linfo)
- info.jited_line_info_cnt = prog->aux->nr_linfo;
+ info.nr_jited_line_info = prog->aux->nr_linfo;
else
- info.jited_line_info_cnt = 0;
- if (info.jited_line_info_cnt && ulen) {
+ info.nr_jited_line_info = 0;
+ if (info.nr_jited_line_info && ulen) {
if (bpf_dump_raw_ok()) {
__u64 __user *user_linfo;
u32 i;
user_linfo = u64_to_user_ptr(info.jited_line_info);
- ulen = min_t(u32, info.jited_line_info_cnt, ulen);
+ ulen = min_t(u32, info.nr_jited_line_info, ulen);
for (i = 0; i < ulen; i++) {
if (put_user((__u64)(long)prog->aux->jited_linfo[i],
&user_linfo[i]))
diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c
index 9a78ebbcea1d..b73b4e473948 100644
--- a/tools/bpf/bpftool/prog.c
+++ b/tools/bpf/bpftool/prog.c
@@ -425,7 +425,7 @@ static int do_dump(int argc, char **argv)
{
unsigned int finfo_rec_size, linfo_rec_size, jited_linfo_rec_size;
void *func_info = NULL, *linfo = NULL, *jited_linfo = NULL;
- unsigned int finfo_cnt, linfo_cnt = 0, jited_linfo_cnt = 0;
+ unsigned int nr_finfo, nr_linfo = 0, nr_jited_linfo = 0;
struct bpf_prog_linfo *prog_linfo = NULL;
unsigned long *func_ksyms = NULL;
struct bpf_prog_info info = {};
@@ -537,10 +537,10 @@ static int do_dump(int argc, char **argv)
}
}
- finfo_cnt = info.func_info_cnt;
+ nr_finfo = info.nr_func_info;
finfo_rec_size = info.func_info_rec_size;
- if (finfo_cnt && finfo_rec_size) {
- func_info = malloc(finfo_cnt * finfo_rec_size);
+ if (nr_finfo && finfo_rec_size) {
+ func_info = malloc(nr_finfo * finfo_rec_size);
if (!func_info) {
p_err("mem alloc failed");
close(fd);
@@ -549,9 +549,9 @@ static int do_dump(int argc, char **argv)
}
linfo_rec_size = info.line_info_rec_size;
- if (info.line_info_cnt && linfo_rec_size && info.btf_id) {
- linfo_cnt = info.line_info_cnt;
- linfo = malloc(linfo_cnt * linfo_rec_size);
+ if (info.nr_line_info && linfo_rec_size && info.btf_id) {
+ nr_linfo = info.nr_line_info;
+ linfo = malloc(nr_linfo * linfo_rec_size);
if (!linfo) {
p_err("mem alloc failed");
close(fd);
@@ -560,13 +560,13 @@ static int do_dump(int argc, char **argv)
}
jited_linfo_rec_size = info.jited_line_info_rec_size;
- if (info.jited_line_info_cnt &&
+ if (info.nr_jited_line_info &&
jited_linfo_rec_size &&
info.nr_jited_ksyms &&
info.nr_jited_func_lens &&
info.btf_id) {
- jited_linfo_cnt = info.jited_line_info_cnt;
- jited_linfo = malloc(jited_linfo_cnt * jited_linfo_rec_size);
+ nr_jited_linfo = info.nr_jited_line_info;
+ jited_linfo = malloc(nr_jited_linfo * jited_linfo_rec_size);
if (!jited_linfo) {
p_err("mem alloc failed");
close(fd);
@@ -582,13 +582,13 @@ static int do_dump(int argc, char **argv)
info.nr_jited_ksyms = nr_func_ksyms;
info.jited_func_lens = ptr_to_u64(func_lens);
info.nr_jited_func_lens = nr_func_lens;
- info.func_info_cnt = finfo_cnt;
+ info.nr_func_info = nr_finfo;
info.func_info_rec_size = finfo_rec_size;
info.func_info = ptr_to_u64(func_info);
- info.line_info_cnt = linfo_cnt;
+ info.nr_line_info = nr_linfo;
info.line_info_rec_size = linfo_rec_size;
info.line_info = ptr_to_u64(linfo);
- info.jited_line_info_cnt = jited_linfo_cnt;
+ info.nr_jited_line_info = nr_jited_linfo;
info.jited_line_info_rec_size = jited_linfo_rec_size;
info.jited_line_info = ptr_to_u64(jited_linfo);
@@ -614,9 +614,9 @@ static int do_dump(int argc, char **argv)
goto err_free;
}
- if (info.func_info_cnt != finfo_cnt) {
- p_err("incorrect func_info_cnt %d vs. expected %d",
- info.func_info_cnt, finfo_cnt);
+ if (info.nr_func_info != nr_finfo) {
+ p_err("incorrect nr_func_info %d vs. expected %d",
+ info.nr_func_info, nr_finfo);
goto err_free;
}
@@ -630,12 +630,12 @@ static int do_dump(int argc, char **argv)
/* kernel.kptr_restrict is set. No func_info available. */
free(func_info);
func_info = NULL;
- finfo_cnt = 0;
+ nr_finfo = 0;
}
- if (linfo && info.line_info_cnt != linfo_cnt) {
- p_err("incorrect line_info_cnt %u vs. expected %u",
- info.line_info_cnt, linfo_cnt);
+ if (linfo && info.nr_line_info != nr_linfo) {
+ p_err("incorrect nr_line_info %u vs. expected %u",
+ info.nr_line_info, nr_linfo);
goto err_free;
}
@@ -645,9 +645,9 @@ static int do_dump(int argc, char **argv)
goto err_free;
}
- if (jited_linfo && info.jited_line_info_cnt != jited_linfo_cnt) {
- p_err("incorrect jited_line_info_cnt %u vs. expected %u",
- info.jited_line_info_cnt, jited_linfo_cnt);
+ if (jited_linfo && info.nr_jited_line_info != nr_jited_linfo) {
+ p_err("incorrect nr_jited_line_info %u vs. expected %u",
+ info.nr_jited_line_info, nr_jited_linfo);
goto err_free;
}
@@ -670,7 +670,7 @@ static int do_dump(int argc, char **argv)
goto err_free;
}
- if (linfo_cnt) {
+ if (nr_linfo) {
prog_linfo = bpf_prog_linfo__new(&info);
if (!prog_linfo)
p_info("error in processing bpf_line_info. continue without it.");
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h
index 6ad50b6471d3..620ee1f919cf 100644
--- a/tools/include/uapi/linux/bpf.h
+++ b/tools/include/uapi/linux/bpf.h
@@ -2695,11 +2695,11 @@ struct bpf_prog_info {
__u32 btf_id;
__u32 func_info_rec_size;
__aligned_u64 func_info;
- __u32 func_info_cnt;
- __u32 line_info_cnt;
+ __u32 nr_func_info;
+ __u32 nr_line_info;
__aligned_u64 line_info;
__aligned_u64 jited_line_info;
- __u32 jited_line_info_cnt;
+ __u32 nr_jited_line_info;
__u32 line_info_rec_size;
__u32 jited_line_info_rec_size;
} __attribute__((aligned(8)));
diff --git a/tools/lib/bpf/bpf_prog_linfo.c b/tools/lib/bpf/bpf_prog_linfo.c
index b8af65145408..addd6e9971cc 100644
--- a/tools/lib/bpf/bpf_prog_linfo.c
+++ b/tools/lib/bpf/bpf_prog_linfo.c
@@ -105,7 +105,7 @@ struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
struct bpf_prog_linfo *prog_linfo;
__u32 nr_linfo, nr_jited_func;
- nr_linfo = info->line_info_cnt;
+ nr_linfo = info->nr_line_info;
/*
* Test !info->line_info because the kernel may NULL
@@ -138,7 +138,7 @@ struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
nr_jited_func = info->nr_jited_ksyms;
if (!nr_jited_func ||
!info->jited_line_info ||
- info->jited_line_info_cnt != nr_linfo ||
+ info->nr_jited_line_info != nr_linfo ||
info->jited_line_info_rec_size < sizeof(__u64) ||
info->nr_jited_func_lens != nr_jited_func ||
!info->jited_ksyms ||
diff --git a/tools/testing/selftests/bpf/test_btf.c b/tools/testing/selftests/bpf/test_btf.c
index 7707273736ac..d4c63316c862 100644
--- a/tools/testing/selftests/bpf/test_btf.c
+++ b/tools/testing/selftests/bpf/test_btf.c
@@ -2548,9 +2548,9 @@ static int do_test_file(unsigned int test_num)
err = -1;
goto done;
}
- if (CHECK(info.func_info_cnt != 3,
- "incorrect info.func_info_cnt (1st) %d",
- info.func_info_cnt)) {
+ if (CHECK(info.nr_func_info != 3,
+ "incorrect info.nr_func_info (1st) %d",
+ info.nr_func_info)) {
err = -1;
goto done;
}
@@ -2561,7 +2561,7 @@ static int do_test_file(unsigned int test_num)
goto done;
}
- func_info = malloc(info.func_info_cnt * rec_size);
+ func_info = malloc(info.nr_func_info * rec_size);
if (CHECK(!func_info, "out of memory")) {
err = -1;
goto done;
@@ -2569,7 +2569,7 @@ static int do_test_file(unsigned int test_num)
/* reset info to only retrieve func_info related data */
memset(&info, 0, sizeof(info));
- info.func_info_cnt = 3;
+ info.nr_func_info = 3;
info.func_info_rec_size = rec_size;
info.func_info = ptr_to_u64(func_info);
@@ -2580,9 +2580,9 @@ static int do_test_file(unsigned int test_num)
err = -1;
goto done;
}
- if (CHECK(info.func_info_cnt != 3,
- "incorrect info.func_info_cnt (2nd) %d",
- info.func_info_cnt)) {
+ if (CHECK(info.nr_func_info != 3,
+ "incorrect info.nr_func_info (2nd) %d",
+ info.nr_func_info)) {
err = -1;
goto done;
}
@@ -3544,9 +3544,9 @@ static int test_get_finfo(const struct prog_info_raw_test *test,
fprintf(stderr, "%s\n", btf_log_buf);
return -1;
}
- if (CHECK(info.func_info_cnt != test->func_info_cnt,
- "incorrect info.func_info_cnt (1st) %d",
- info.func_info_cnt)) {
+ if (CHECK(info.nr_func_info != test->func_info_cnt,
+ "incorrect info.nr_func_info (1st) %d",
+ info.nr_func_info)) {
return -1;
}
@@ -3556,16 +3556,16 @@ static int test_get_finfo(const struct prog_info_raw_test *test,
return -1;
}
- if (!info.func_info_cnt)
+ if (!info.nr_func_info)
return 0;
- func_info = malloc(info.func_info_cnt * rec_size);
+ func_info = malloc(info.nr_func_info * rec_size);
if (CHECK(!func_info, "out of memory"))
return -1;
/* reset info to only retrieve func_info related data */
memset(&info, 0, sizeof(info));
- info.func_info_cnt = test->func_info_cnt;
+ info.nr_func_info = test->func_info_cnt;
info.func_info_rec_size = rec_size;
info.func_info = ptr_to_u64(func_info);
err = bpf_obj_get_info_by_fd(prog_fd, &info, &info_len);
@@ -3574,9 +3574,9 @@ static int test_get_finfo(const struct prog_info_raw_test *test,
err = -1;
goto done;
}
- if (CHECK(info.func_info_cnt != test->func_info_cnt,
- "incorrect info.func_info_cnt (2nd) %d",
- info.func_info_cnt)) {
+ if (CHECK(info.nr_func_info != test->func_info_cnt,
+ "incorrect info.nr_func_info (2nd) %d",
+ info.nr_func_info)) {
err = -1;
goto done;
}
@@ -3648,14 +3648,14 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
nr_jited_func_lens = 1;
}
- if (CHECK(info.line_info_cnt != cnt ||
- info.jited_line_info_cnt != jited_cnt ||
+ if (CHECK(info.nr_line_info != cnt ||
+ info.nr_jited_line_info != jited_cnt ||
info.nr_jited_ksyms != nr_jited_ksyms ||
info.nr_jited_func_lens != nr_jited_func_lens ||
- (!info.line_info_cnt && info.jited_line_info_cnt),
- "info: line_info_cnt:%u(expected:%u) jited_line_info_cnt:%u(expected:%u) nr_jited_ksyms:%u(expected:%u) nr_jited_func_lens:%u(expected:%u)",
- info.line_info_cnt, cnt,
- info.jited_line_info_cnt, jited_cnt,
+ (!info.nr_line_info && info.nr_jited_line_info),
+ "info: nr_line_info:%u(expected:%u) nr_jited_line_info:%u(expected:%u) nr_jited_ksyms:%u(expected:%u) nr_jited_func_lens:%u(expected:%u)",
+ info.nr_line_info, cnt,
+ info.nr_jited_line_info, jited_cnt,
info.nr_jited_ksyms, nr_jited_ksyms,
info.nr_jited_func_lens, nr_jited_func_lens)) {
err = -1;
@@ -3684,7 +3684,7 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
err = -1;
goto done;
}
- info.line_info_cnt = cnt;
+ info.nr_line_info = cnt;
info.line_info_rec_size = rec_size;
info.line_info = ptr_to_u64(linfo);
@@ -3700,7 +3700,7 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
goto done;
}
- info.jited_line_info_cnt = jited_cnt;
+ info.nr_jited_line_info = jited_cnt;
info.jited_line_info_rec_size = jited_rec_size;
info.jited_line_info = ptr_to_u64(jited_linfo);
info.nr_jited_ksyms = nr_jited_ksyms;
@@ -3717,15 +3717,15 @@ static int test_get_linfo(const struct prog_info_raw_test *test,
*/
if (CHECK(err == -1 ||
!info.line_info ||
- info.line_info_cnt != cnt ||
+ info.nr_line_info != cnt ||
(jited_cnt && !info.jited_line_info) ||
- info.jited_line_info_cnt != jited_cnt ||
+ info.nr_jited_line_info != jited_cnt ||
info.line_info_rec_size != rec_size ||
info.jited_line_info_rec_size != jited_rec_size,
- "err:%d errno:%d info: line_info_cnt:%u(expected:%u) jited_line_info_cnt:%u(expected:%u) line_info_rec_size:%u(expected:%u) jited_linfo_rec_size:%u(expected:%u) line_info:%p jited_line_info:%p",
+ "err:%d errno:%d info: nr_line_info:%u(expected:%u) nr_jited_line_info:%u(expected:%u) line_info_rec_size:%u(expected:%u) jited_linfo_rec_size:%u(expected:%u) line_info:%p jited_line_info:%p",
err, errno,
- info.line_info_cnt, cnt,
- info.jited_line_info_cnt, jited_cnt,
+ info.nr_line_info, cnt,
+ info.nr_jited_line_info, jited_cnt,
info.line_info_rec_size, rec_size,
info.jited_line_info_rec_size, jited_rec_size,
(void *)(long)info.line_info,