2018-02-28 00:36:55

by Tushar Dave

[permalink] [raw]
Subject: [PATCH] selftests/bpf: Add bpf_probe_read_str to bpf_helpers.h

Using bpf_probe_read_str() from samples/bpf causes compiler warning.
e.g.
warning: implicit declaration of function 'bpf_probe_read_str' is invalid in C99
[-Wimplicit-function-declaration]
num = bpf_probe_read_str(buf, sizeof(buf), ctx->di);
^
1 warning generated.

Add bpf_probe_read_str() to bpf_helpers.h so it can be used by
samples/bpf programs.

Signed-off-by: Tushar Dave <[email protected]>
---
tools/testing/selftests/bpf/bpf_helpers.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/bpf/bpf_helpers.h b/tools/testing/selftests/bpf/bpf_helpers.h
index dde2c11..65a266d 100644
--- a/tools/testing/selftests/bpf/bpf_helpers.h
+++ b/tools/testing/selftests/bpf/bpf_helpers.h
@@ -65,6 +65,8 @@ static int (*bpf_xdp_adjust_head)(void *ctx, int offset) =
(void *) BPF_FUNC_xdp_adjust_head;
static int (*bpf_xdp_adjust_meta)(void *ctx, int offset) =
(void *) BPF_FUNC_xdp_adjust_meta;
+static int (*bpf_probe_read_str)(void *dst, int size, void *unsafe_ptr) =
+ (void *) BPF_FUNC_probe_read_str;
static int (*bpf_setsockopt)(void *ctx, int level, int optname, void *optval,
int optlen) =
(void *) BPF_FUNC_setsockopt;
--
1.9.1



2018-02-28 16:59:22

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: Add bpf_probe_read_str to bpf_helpers.h

Hi Tushar,

On 02/28/2018 01:33 AM, Tushar Dave wrote:
> Using bpf_probe_read_str() from samples/bpf causes compiler warning.
> e.g.
> warning: implicit declaration of function 'bpf_probe_read_str' is invalid in C99
> [-Wimplicit-function-declaration]
> num = bpf_probe_read_str(buf, sizeof(buf), ctx->di);
> ^
> 1 warning generated.
>
> Add bpf_probe_read_str() to bpf_helpers.h so it can be used by
> samples/bpf programs.
>
> Signed-off-by: Tushar Dave <[email protected]>

In general no objections to it, but it would need an in-tree
user first:

$ git grep -n bpf_probe_read_str tools/
tools/include/uapi/linux/bpf.h:596: * int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
$

Why not adding this along with a sample?

Thanks,
Daniel

2018-02-28 21:29:42

by Tushar Dave

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: Add bpf_probe_read_str to bpf_helpers.h



On 02/28/2018 08:57 AM, Daniel Borkmann wrote:
> Hi Tushar,
>
> On 02/28/2018 01:33 AM, Tushar Dave wrote:
>> Using bpf_probe_read_str() from samples/bpf causes compiler warning.
>> e.g.
>> warning: implicit declaration of function 'bpf_probe_read_str' is invalid in C99
>> [-Wimplicit-function-declaration]
>> num = bpf_probe_read_str(buf, sizeof(buf), ctx->di);
>> ^
>> 1 warning generated.
>>
>> Add bpf_probe_read_str() to bpf_helpers.h so it can be used by
>> samples/bpf programs.
>>
>> Signed-off-by: Tushar Dave <[email protected]>
>
> In general no objections to it, but it would need an in-tree
> user first:
>
> $ git grep -n bpf_probe_read_str tools/
> tools/include/uapi/linux/bpf.h:596: * int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
> $
>
> Why not adding this along with a sample?
Okay, I will send new patch along with new sample or add usage of
bpf_probe_read_str() in one of our exiting sample :)

Thanks.
-Tushar
PS: adding correct mail-list this time [email protected]
>
> Thanks,
> Daniel
>

2018-02-28 21:33:24

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: Add bpf_probe_read_str to bpf_helpers.h

On 02/28/2018 10:28 PM, Tushar Dave wrote:
> On 02/28/2018 08:57 AM, Daniel Borkmann wrote:
>> Hi Tushar,
>>
>> On 02/28/2018 01:33 AM, Tushar Dave wrote:
>>> Using bpf_probe_read_str() from samples/bpf causes compiler warning.
>>> e.g.
>>> warning: implicit declaration of function 'bpf_probe_read_str' is invalid in C99
>>>        [-Wimplicit-function-declaration]
>>>          num = bpf_probe_read_str(buf, sizeof(buf), ctx->di);
>>>                ^
>>> 1 warning generated.
>>>
>>> Add bpf_probe_read_str() to bpf_helpers.h so it can be used by
>>> samples/bpf programs.
>>>
>>> Signed-off-by: Tushar Dave <[email protected]>
>>
>> In general no objections to it, but it would need an in-tree
>> user first:
>>
>> $ git grep -n bpf_probe_read_str tools/
>> tools/include/uapi/linux/bpf.h:596: * int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr)
>> $
>>
>> Why not adding this along with a sample?
> Okay, I will send new patch along with new sample or add usage of
> bpf_probe_read_str() in one of our exiting sample :)

Sounds great, the latter is totally fine as well. :-)

Thanks,
Daniel