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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 30 Aug 2018 14:25:25 +0200
From:   Daniel Borkmann <daniel@...earbox.net>
To:     Yonghong Song <yhs@...com>, ast@...com, kafai@...com,
        netdev@...r.kernel.org
Cc:     kernel-team@...com
Subject: Re: [PATCH bpf-next 0/3] bpf: implement percpu map pretty print for
 bpffs and bpftool

On 08/29/2018 11:43 PM, Yonghong Song wrote:
> Commit a26ca7c982cb ("bpf: btf: Add pretty print support to the
> basic arraymap") and Commit 699c86d6ec21 ("bpf: btf: add pretty print
> for hash/lru_hash maps") added bpffs pretty print for array, hash and
> lru hash maps. The pretty print gives users a structurally formatted
> dump for keys/values which much easy to understand than raw bytes.
> 
> This patch set implemented bpffs pretty print support for
> percpu arraymap, percpu hashmap and percpu lru hashmap.
> For complex key/value types, the pretty print here is even more useful
> due to
>   . large volumne of data making it even harder to correlate bytes
>     to a particular field in a particular cpu.
>   . kernel rounds the value size for each cpu to multiple of 8.
>     User has to be aware of this otherwise wrong value may be
>     derived from cpu 1/2/...
> 
> For example, we may have a bpffs pretty print like below:
>    43602: {
>         cpu0: {43602,0,-43602,0x3,0xaa52,0x3,{43602|[82,170,0,0,0,0,0,0]},ENUM_TWO}
>         cpu1: {43602,0,-43602,0x3,0xaa52,0x3,{43602|[82,170,0,0,0,0,0,0]},ENUM_TWO}
>         cpu2: {43602,0,-43602,0x3,0xaa52,0x3,{43602|[82,170,0,0,0,0,0,0]},ENUM_TWO}
>         cpu3: {43602,0,-43602,0x3,0xaa52,0x3,{43602|[82,170,0,0,0,0,0,0]},ENUM_TWO}
>    }
> for a percpu map.
> 
> This patch also added percpu formatted print on bpftool. For example,
> bpftool may print like below:
>     {
>         "key": 0,
>         "values": [{
>                 "cpu": 0,
>                 "value": {
>                     "ui32": 0,
>                     "ui16": 0,
>                 }
>             },{
>                 "cpu": 1,
>                 "value": {
>                     "ui32": 1,
>                     "ui16": 0,
>                 }
>             },{
>                 "cpu": 2,
>                 "value": {
>                     "ui32": 2,
>                     "ui16": 0,
>                 }
>             },{
>                 "cpu": 3,
>                 "value": {
>                     "ui32": 3,
>                     "ui16": 0,
>                 }
>             }
>         ]
>     }
> 
> Patch #1 implemented bpffs pretty print for percpu arraymap/hash/lru_hash
> in kernel. Patch #2 added the test case in tools bpf selftest test_btf.
> Patch #3 added percpu map btf based dump.
> 
> Yonghong Song (3):
>   bpf: add bpffs pretty print for percpu arraymap/hash/lru_hash
>   tools/bpf: add bpffs percpu map pretty print tests in test_btf
>   tools/bpf: bpftool: add btf percpu map formated dump
> 
>  kernel/bpf/arraymap.c                  |  24 +++++
>  kernel/bpf/hashtab.c                   |  31 ++++++
>  tools/bpf/bpftool/map.c                |  33 +++++-
>  tools/testing/selftests/bpf/test_btf.c | 179 ++++++++++++++++++++++++++-------
>  4 files changed, 230 insertions(+), 37 deletions(-)

Applied to bpf-next, thanks Yonghong!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ