lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 8 Apr 2023 00:01:05 +0800
From:   Feng Zhou <zhoufeng.zf@...edance.com>
To:     Jiri Olsa <olsajiri@...il.com>
Cc:     martin.lau@...ux.dev, ast@...nel.org, daniel@...earbox.net,
        andrii@...nel.org, song@...nel.org, yhs@...com,
        john.fastabend@...il.com, kpsingh@...nel.org, sdf@...gle.com,
        haoluo@...gle.com, davem@...emloft.net, edumazet@...gle.com,
        kuba@...nel.org, pabeni@...hat.com, mykolal@...com,
        shuah@...nel.org, bpf@...r.kernel.org,
        linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
        linux-kselftest@...r.kernel.org, yangzhenze@...edance.com,
        wangdongdong.6@...edance.com, zhouchengming@...edance.com
Subject: Re: Re: [PATCH v2 0/2] Fix failure to access u32* argument of tracked
 function

在 2023/4/7 18:49, Feng Zhou 写道:
> 在 2023/4/7 17:33, Jiri Olsa 写道:
>> On Fri, Apr 07, 2023 at 04:46:06PM +0800, Feng zhou wrote:
>>> From: Feng Zhou<zhoufeng.zf@...edance.com>
>>>
>>> When access traced function arguments with type is u32*, bpf 
>>> verifier failed.
>>> Because u32 have typedef, needs to skip modifier. Add 
>>> btf_type_is_modifier in
>>> is_int_ptr. Add a selftest to check it.
>>>
>>> Feng Zhou (2):
>>>    bpf/btf: Fix is_int_ptr()
>>>    selftests/bpf: Add test to access u32 ptr argument in tracing 
>>> program
>> hi,
>> it breaks several tests in test_progs suite:
>>
>> #11/36   bpf_iter/link-iter:FAIL
>> #11      bpf_iter:FAIL
>> test_dummy_st_ops_attach:FAIL:dummy_st_ops_load unexpected error: -13
>> #63/1    dummy_st_ops/dummy_st_ops_attach:FAIL
>> test_dummy_init_ret_value:FAIL:dummy_st_ops_load unexpected error: -13
>> #63/2    dummy_st_ops/dummy_init_ret_value:FAIL
>> test_dummy_init_ptr_arg:FAIL:dummy_st_ops_load unexpected error: -13
>> #63/3    dummy_st_ops/dummy_init_ptr_arg:FAIL
>> test_dummy_multiple_args:FAIL:dummy_st_ops_load unexpected error: -13
>> #63/4    dummy_st_ops/dummy_multiple_args:FAIL
>> test_dummy_sleepable:FAIL:dummy_st_ops_load unexpected error: -13
>> #63/5    dummy_st_ops/dummy_sleepable:FAIL
>> #63      dummy_st_ops:FAIL
>> test_fentry_fexit:FAIL:fentry_skel_load unexpected error: -13
>> #69      fentry_fexit:FAIL
>> test_fentry_test:FAIL:fentry_skel_load unexpected error: -13
>> #70      fentry_test:FAIL
>>
>> jirka
>>
>
> I tried it, and it did cause the test to fail. Bpfverify reported an 
> error,
> 'R1 invalid mem access'scalar', let me confirm the reason.

I used btf_type_skip_modifiers,but did not delete
the previous "t = btf_type_by_id (btf, t- > type);"
resulting in some testcases failing. I will send a
v3 nextweek, thank you for your suggestion.


>>> Changelog:
>>> v1->v2: Addressed comments from Martin KaFai Lau
>>> - Add a selftest.
>>> - use btf_type_skip_modifiers.
>>> Some details in here:
>>> https://lore.kernel.org/all/20221012125815.76120-1-zhouchengming@bytedance.com/ 
>>>
>>>
>>>   kernel/bpf/btf.c                                    |  5 ++---
>>>   net/bpf/test_run.c                                  |  8 +++++++-
>>>   .../testing/selftests/bpf/verifier/btf_ctx_access.c | 13 
>>> +++++++++++++
>>>   3 files changed, 22 insertions(+), 4 deletions(-)
>>>
>>> -- 
>>> 2.20.1
>>>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ