From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH 3/4] libbpf: break loop earlier Date: Wed, 27 Dec 2017 11:00:43 -0800 Message-ID: <20171227190042.hwxk6ccazdtnob77@ast-mbp> References: <20171227022730.y27gwva2u2ilyrul@ast-mbp> <20171227180229.1926-1-eric@regit.org> <20171227180229.1926-4-eric@regit.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: netdev@vger.kernel.org, daniel@iogearbox.net, linux-kernel@vger.kernel.org To: Eric Leblond Return-path: Content-Disposition: inline In-Reply-To: <20171227180229.1926-4-eric@regit.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Wed, Dec 27, 2017 at 07:02:28PM +0100, Eric Leblond wrote: > Get out of the loop when we have a match. > > Signed-off-by: Eric Leblond > --- > tools/lib/bpf/libbpf.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index 5fe8aaa2123e..d263748aa341 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -412,6 +412,7 @@ bpf_object__init_prog_names(struct bpf_object *obj) > prog->section_name); > return -LIBBPF_ERRNO__LIBELF; > } > + break; why this is needed? The top of the loop is: for (si = 0; si < symbols->d_size / sizeof(GElf_Sym) && !name; so as soon as name is found the loop will exit. I agree that the loop structure is non-standard is confusing, but adding break here will make it even more so. If 'break' is added then '&& !name' should be removed.