2018-08-21 16:45:28

by Taeung Song

[permalink] [raw]
Subject: [PATCH] libbpf: Remove the duplicate checking of function storage

After the commit eac7d84519a3 ("tools: libbpf: don't return '.text'
as a program for multi-function programs"), bpf_program__next()
in bpf_object__for_each_program skips the function storage such as .text,
so eliminate the duplicate checking.

Cc: Jakub Kicinski <[email protected]>
Signed-off-by: Taeung Song <[email protected]>
---
tools/lib/bpf/libbpf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 2abd0f112627..8476da7f2720 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -2336,7 +2336,7 @@ int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr,
bpf_program__set_expected_attach_type(prog,
expected_attach_type);

- if (!bpf_program__is_function_storage(prog, obj) && !first_prog)
+ if (!first_prog)
first_prog = prog;
}

--
2.17.1



2018-08-21 16:49:02

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] libbpf: Remove the duplicate checking of function storage

On Tue, Aug 21, 2018 at 6:12 PM, Taeung Song <[email protected]> wrote:
> After the commit eac7d84519a3 ("tools: libbpf: don't return '.text'
> as a program for multi-function programs"), bpf_program__next()
> in bpf_object__for_each_program skips the function storage such as .text,
> so eliminate the duplicate checking.
>
> Cc: Jakub Kicinski <[email protected]>
> Signed-off-by: Taeung Song <[email protected]>

Looks reasonable, but you may need to repost once bpf-next is open:

https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt

Acked-by: Jakub Kicinski <[email protected]>

> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index 2abd0f112627..8476da7f2720 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -2336,7 +2336,7 @@ int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr,
> bpf_program__set_expected_attach_type(prog,
> expected_attach_type);
>
> - if (!bpf_program__is_function_storage(prog, obj) && !first_prog)
> + if (!first_prog)
> first_prog = prog;
> }
>
> --
> 2.17.1
>

2018-08-21 21:17:35

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH] libbpf: Remove the duplicate checking of function storage

On 08/21/2018 06:46 PM, Jakub Kicinski wrote:
> On Tue, Aug 21, 2018 at 6:12 PM, Taeung Song <[email protected]> wrote:
>> After the commit eac7d84519a3 ("tools: libbpf: don't return '.text'
>> as a program for multi-function programs"), bpf_program__next()
>> in bpf_object__for_each_program skips the function storage such as .text,
>> so eliminate the duplicate checking.
>>
>> Cc: Jakub Kicinski <[email protected]>
>> Signed-off-by: Taeung Song <[email protected]>
>
> Looks reasonable, but you may need to repost once bpf-next is open:
>
> https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt
>
> Acked-by: Jakub Kicinski <[email protected]>

Agree, please resubmit once bpf-next opens up again. Thanks!

2018-08-22 03:19:19

by Taeung Song

[permalink] [raw]
Subject: Re: [PATCH] libbpf: Remove the duplicate checking of function storage



On 08/22/2018 05:11 AM, Daniel Borkmann wrote:
> On 08/21/2018 06:46 PM, Jakub Kicinski wrote:
>> On Tue, Aug 21, 2018 at 6:12 PM, Taeung Song <[email protected]> wrote:
>>> After the commit eac7d84519a3 ("tools: libbpf: don't return '.text'
>>> as a program for multi-function programs"), bpf_program__next()
>>> in bpf_object__for_each_program skips the function storage such as .text,
>>> so eliminate the duplicate checking.
>>>
>>> Cc: Jakub Kicinski <[email protected]>
>>> Signed-off-by: Taeung Song <[email protected]>
>>
>> Looks reasonable, but you may need to repost once bpf-next is open:
>>
>> https://www.kernel.org/doc/Documentation/networking/netdev-FAQ.txt
>>
>> Acked-by: Jakub Kicinski <[email protected]>
>
> Agree, please resubmit once bpf-next opens up again. Thanks!
>

OK ! I will.

Thanks,
Taeung