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>
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 1bee113..f943ed8 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 a99a23b..5745c78 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 9a78ebb..b73b4e4 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 6ad50b6..620ee1f 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 b8af651..addd6e9 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 7707273..d4c6331 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,