mbox series

[bpf,0/2] Two fixes for test_sockmap

Message ID 20241012203731.1248619-1-zijianzhang@bytedance.com (mailing list archive)
Headers show
Series Two fixes for test_sockmap | expand

Message

Zijian Zhang Oct. 12, 2024, 8:37 p.m. UTC
From: Zijian Zhang <zijianzhang@bytedance.com>

Function msg_verify_data should have context of bytes_cnt and k instead of
assuming they are zero. Otherwise, test_sockmap with data integrity test
will report some errors. I also fix the logic related to size and index j

1/ 6  sockmap::txmsg test passthrough:FAIL
2/ 6  sockmap::txmsg test redirect:FAIL
7/12  sockmap::txmsg test apply:FAIL
10/11  sockmap::txmsg test push_data:FAIL
11/17  sockmap::txmsg test pull-data:FAIL
12/ 9  sockmap::txmsg test pop-data:FAIL
13/ 1  sockmap::txmsg test push/pop data:FAIL
...
Pass: 24 Fail: 52

After fixing msg_verify_data, some of the errors are solved, but for push
pull and pop, we may need more fixes to msg_verify_data, added a TODO

10/11  sockmap::txmsg test push_data:FAIL
11/17  sockmap::txmsg test pull-data:FAIL
12/ 9  sockmap::txmsg test pop-data:FAIL
...
Pass: 37 Fail: 15

Besides, added a custom errno EDATAINTEGRITY for msg_verify_data, we
shall not ignore the error in txmsg_cork case, and fixed the txmsg_redir
in test_txmsg_pull "Test pull + redirect" case.


Zijian Zhang (2):
  selftests/bpf: Fix msg_verify_data in test_sockmap
  selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap

 tools/testing/selftests/bpf/test_sockmap.c | 32 ++++++++++++++--------
 1 file changed, 21 insertions(+), 11 deletions(-)

Comments

John Fastabend Oct. 16, 2024, 6:10 p.m. UTC | #1
zijianzhang@ wrote:
> From: Zijian Zhang <zijianzhang@bytedance.com>
> 
> Function msg_verify_data should have context of bytes_cnt and k instead of
> assuming they are zero. Otherwise, test_sockmap with data integrity test
> will report some errors. I also fix the logic related to size and index j
> 
> 1/ 6  sockmap::txmsg test passthrough:FAIL
> 2/ 6  sockmap::txmsg test redirect:FAIL
> 7/12  sockmap::txmsg test apply:FAIL
> 10/11  sockmap::txmsg test push_data:FAIL
> 11/17  sockmap::txmsg test pull-data:FAIL
> 12/ 9  sockmap::txmsg test pop-data:FAIL
> 13/ 1  sockmap::txmsg test push/pop data:FAIL
> ...
> Pass: 24 Fail: 52
> 
> After fixing msg_verify_data, some of the errors are solved, but for push
> pull and pop, we may need more fixes to msg_verify_data, added a TODO
> 
> 10/11  sockmap::txmsg test push_data:FAIL
> 11/17  sockmap::txmsg test pull-data:FAIL
> 12/ 9  sockmap::txmsg test pop-data:FAIL
> ...
> Pass: 37 Fail: 15

Thanks. Did you plan on fixing the rest next? Otherwise I'll add it to
my list.

> 
> Besides, added a custom errno EDATAINTEGRITY for msg_verify_data, we
> shall not ignore the error in txmsg_cork case, and fixed the txmsg_redir
> in test_txmsg_pull "Test pull + redirect" case.
> 
> 
> Zijian Zhang (2):
>   selftests/bpf: Fix msg_verify_data in test_sockmap
>   selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap
> 
>  tools/testing/selftests/bpf/test_sockmap.c | 32 ++++++++++++++--------
>  1 file changed, 21 insertions(+), 11 deletions(-)
> 
> -- 
> 2.20.1
> 


For the series,

Acked-by: John Fastabend <john.fastabend@gmail.com>
Zijian Zhang Oct. 16, 2024, 7:24 p.m. UTC | #2
On 10/16/24 11:10 AM, John Fastabend wrote:
> zijianzhang@ wrote:
>> From: Zijian Zhang <zijianzhang@bytedance.com>
>>
>> Function msg_verify_data should have context of bytes_cnt and k instead of
>> assuming they are zero. Otherwise, test_sockmap with data integrity test
>> will report some errors. I also fix the logic related to size and index j
>>
>> 1/ 6  sockmap::txmsg test passthrough:FAIL
>> 2/ 6  sockmap::txmsg test redirect:FAIL
>> 7/12  sockmap::txmsg test apply:FAIL
>> 10/11  sockmap::txmsg test push_data:FAIL
>> 11/17  sockmap::txmsg test pull-data:FAIL
>> 12/ 9  sockmap::txmsg test pop-data:FAIL
>> 13/ 1  sockmap::txmsg test push/pop data:FAIL
>> ...
>> Pass: 24 Fail: 52
>>
>> After fixing msg_verify_data, some of the errors are solved, but for push
>> pull and pop, we may need more fixes to msg_verify_data, added a TODO
>>
>> 10/11  sockmap::txmsg test push_data:FAIL
>> 11/17  sockmap::txmsg test pull-data:FAIL
>> 12/ 9  sockmap::txmsg test pop-data:FAIL
>> ...
>> Pass: 37 Fail: 15
> 
> Thanks. Did you plan on fixing the rest next? Otherwise I'll add it to
> my list.
> 

No problem, I will fix it next.

>>
>> Besides, added a custom errno EDATAINTEGRITY for msg_verify_data, we
>> shall not ignore the error in txmsg_cork case, and fixed the txmsg_redir
>> in test_txmsg_pull "Test pull + redirect" case.
>>
>>
>> Zijian Zhang (2):
>>    selftests/bpf: Fix msg_verify_data in test_sockmap
>>    selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap
>>
>>   tools/testing/selftests/bpf/test_sockmap.c | 32 ++++++++++++++--------
>>   1 file changed, 21 insertions(+), 11 deletions(-)
>>
>> -- 
>> 2.20.1
>>
> 
> 
> For the series,
> 
> Acked-by: John Fastabend <john.fastabend@gmail.com>
patchwork-bot+netdevbpf@kernel.org Oct. 16, 2024, 8:50 p.m. UTC | #3
Hello:

This series was applied to bpf/bpf-next.git (net)
by Martin KaFai Lau <martin.lau@kernel.org>:

On Sat, 12 Oct 2024 20:37:29 +0000 you wrote:
> From: Zijian Zhang <zijianzhang@bytedance.com>
> 
> Function msg_verify_data should have context of bytes_cnt and k instead of
> assuming they are zero. Otherwise, test_sockmap with data integrity test
> will report some errors. I also fix the logic related to size and index j
> 
> 1/ 6  sockmap::txmsg test passthrough:FAIL
> 2/ 6  sockmap::txmsg test redirect:FAIL
> 7/12  sockmap::txmsg test apply:FAIL
> 10/11  sockmap::txmsg test push_data:FAIL
> 11/17  sockmap::txmsg test pull-data:FAIL
> 12/ 9  sockmap::txmsg test pop-data:FAIL
> 13/ 1  sockmap::txmsg test push/pop data:FAIL
> ...
> Pass: 24 Fail: 52
> 
> [...]

Here is the summary with links:
  - [bpf,1/2] selftests/bpf: Fix msg_verify_data in test_sockmap
    https://git.kernel.org/bpf/bpf-next/c/ee9b352ce465
  - [bpf,2/2] selftests/bpf: Fix txmsg_redir of test_txmsg_pull in test_sockmap
    https://git.kernel.org/bpf/bpf-next/c/b29e231d6630

You are awesome, thank you!