Re: [PATCH bpf-next 2/2] selftests: bpf: crypto skcipher algo selftests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/26/23 3:59 AM, Vadim Fedorenko wrote:
Add simple tc hook selftests to show the way to work with new crypto
BPF API. Some weird structre and map are added to setup program to make
verifier happy about dynptr initialization from memory. Simple AES-ECB
algo is used to demonstrate encryption and decryption of fixed size
buffers.

Signed-off-by: Vadim Fedorenko <vadfed@xxxxxxxx>
---
  tools/testing/selftests/bpf/config            |   1 +
  .../selftests/bpf/prog_tests/crypto_sanity.c  | 129 +++++++++++++++
  .../selftests/bpf/progs/crypto_common.h       |  98 +++++++++++
  .../selftests/bpf/progs/crypto_sanity.c       | 154 ++++++++++++++++++
  4 files changed, 382 insertions(+)
  create mode 100644 tools/testing/selftests/bpf/prog_tests/crypto_sanity.c
  create mode 100644 tools/testing/selftests/bpf/progs/crypto_common.h
  create mode 100644 tools/testing/selftests/bpf/progs/crypto_sanity.c

diff --git a/tools/testing/selftests/bpf/config b/tools/testing/selftests/bpf/config
index 02dd4409200e..2a5d6339831b 100644
--- a/tools/testing/selftests/bpf/config
+++ b/tools/testing/selftests/bpf/config
@@ -14,6 +14,7 @@ CONFIG_CGROUP_BPF=y
  CONFIG_CRYPTO_HMAC=y
  CONFIG_CRYPTO_SHA256=y
  CONFIG_CRYPTO_USER_API_HASH=y
+CONFIG_CRYPTO_SKCIPHER=y
  CONFIG_DEBUG_INFO=y
  CONFIG_DEBUG_INFO_BTF=y
  CONFIG_DEBUG_INFO_DWARF4=y

Quick note: for upstream CI side, more config seems missing, see the GHA failure:

https://github.com/kernel-patches/bpf/actions/runs/6654055344/job/18081734522

Notice: Success: 435/3403, Skipped: 32, Failed: 1
Error: #64 crypto_sanity
  Error: #64 crypto_sanity
  test_crypto_sanity:PASS:skel open 0 nsec
  test_crypto_sanity:PASS:ip netns add crypto_sanity_ns 0 nsec
  test_crypto_sanity:PASS:ip -net crypto_sanity_ns -6 addr add face::1/128 dev lo nodad 0 nsec
  test_crypto_sanity:PASS:ip -net crypto_sanity_ns link set dev lo up 0 nsec
  test_crypto_sanity:PASS:crypto_sanity__load 0 nsec
  open_netns:PASS:malloc token 0 nsec
  open_netns:PASS:open /proc/self/ns/net 0 nsec
  open_netns:PASS:open netns fd 0 nsec
  open_netns:PASS:setns 0 nsec
  test_crypto_sanity:PASS:open_netns 0 nsec
  test_crypto_sanity:PASS:if_nametoindex lo 0 nsec
  test_crypto_sanity:PASS:crypto_sanity__attach 0 nsec
  test_crypto_sanity:PASS:skb_crypto_setup fd 0 nsec
  test_crypto_sanity:PASS:skb_crypto_setup 0 nsec
  test_crypto_sanity:PASS:skb_crypto_setup retval 0 nsec
  test_crypto_sanity:FAIL:skb_crypto_setup status unexpected error: -95 (errno 2)
  libbpf: Kernel error message: Parent Qdisc doesn't exists
  close_netns:PASS:setns 0 nsec
Test Results:
             bpftool: PASS
 test_progs-no_alu32: FAIL (returned 1)
            shutdown: CLEAN
Error: Process completed with exit code 1.




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux