Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa570ff4 authored by Alexei Starovoitov's avatar Alexei Starovoitov
Browse files

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: default avatarAlexei Starovoitov <ast@kernel.org>
parents 7a5725dd cfc54241
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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)));
+19 −19
Original line number Diff line number Diff line
@@ -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]))
+24 −24
Original line number Diff line number Diff line
@@ -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.");
+3 −3
Original line number Diff line number Diff line
@@ -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)));
+2 −2
Original line number Diff line number Diff line
@@ -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 ||
Loading