Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpf: make trusted args nullable #7201

Closed

Commits on Jun 13, 2024

  1. adding ci files

    Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    e5adef9 View commit details
    Browse the repository at this point in the history
  2. bpf: verifier: make kfuncs args nullalble

    Some arguments to kfuncs might be NULL in some cases. But currently it's
    not possible to pass NULL to any BTF structures because the check for
    the suffix is located after all type checks. Move it to earlier place
    to allow nullable args.
    
    Acked-by: Eduard Zingerman <eddyz87@gmail.com>
    Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
    vvfedorenko authored and Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    5b1c689 View commit details
    Browse the repository at this point in the history
  3. bpf: crypto: make state and IV dynptr nullable

    Some ciphers do not require state and IV buffer, but with current
    implementation 0-sized dynptr is always needed. With adjustment to
    verifier we can provide NULL instead of 0-sized dynptr. Make crypto
    kfuncs ready for this.
    
    Reviewed-by: Eduard Zingerman <eddyz87@gmail.com>
    Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
    vvfedorenko authored and Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    b114bb2 View commit details
    Browse the repository at this point in the history
  4. selftests: bpf: crypto: use NULL instead of 0-sized dynptr

    Adjust selftests to use nullable option for state and IV arg.
    
    Reviewed-by: Eduard Zingerman <eddyz87@gmail.com>
    Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
    vvfedorenko authored and Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    de414b3 View commit details
    Browse the repository at this point in the history
  5. selftests: bpf: crypto: adjust bench to use nullable IV

    The bench shows some improvements, around 4% faster on decrypt.
    
    Before:
    
    Benchmark 'crypto-decrypt' started.
    Iter   0 (325.719us): hits    5.105M/s (  5.105M/prod), drops 0.000M/s, total operations    5.105M/s
    Iter   1 (-17.295us): hits    5.224M/s (  5.224M/prod), drops 0.000M/s, total operations    5.224M/s
    Iter   2 (  5.504us): hits    4.630M/s (  4.630M/prod), drops 0.000M/s, total operations    4.630M/s
    Iter   3 (  9.239us): hits    5.148M/s (  5.148M/prod), drops 0.000M/s, total operations    5.148M/s
    Iter   4 ( 37.885us): hits    5.198M/s (  5.198M/prod), drops 0.000M/s, total operations    5.198M/s
    Iter   5 (-53.282us): hits    5.167M/s (  5.167M/prod), drops 0.000M/s, total operations    5.167M/s
    Iter   6 (-17.809us): hits    5.186M/s (  5.186M/prod), drops 0.000M/s, total operations    5.186M/s
    Summary: hits    5.092 ± 0.228M/s (  5.092M/prod), drops    0.000 ±0.000M/s, total operations    5.092 ± 0.228M/s
    
    After:
    
    Benchmark 'crypto-decrypt' started.
    Iter   0 (268.912us): hits    5.312M/s (  5.312M/prod), drops 0.000M/s, total operations    5.312M/s
    Iter   1 (124.869us): hits    5.354M/s (  5.354M/prod), drops 0.000M/s, total operations    5.354M/s
    Iter   2 (-36.801us): hits    5.334M/s (  5.334M/prod), drops 0.000M/s, total operations    5.334M/s
    Iter   3 (254.628us): hits    5.334M/s (  5.334M/prod), drops 0.000M/s, total operations    5.334M/s
    Iter   4 (-77.691us): hits    5.275M/s (  5.275M/prod), drops 0.000M/s, total operations    5.275M/s
    Iter   5 (-164.510us): hits    5.313M/s (  5.313M/prod), drops 0.000M/s, total operations    5.313M/s
    Iter   6 (-81.376us): hits    5.346M/s (  5.346M/prod), drops 0.000M/s, total operations    5.346M/s
    Summary: hits    5.326 ± 0.029M/s (  5.326M/prod), drops    0.000 ±0.000M/s, total operations    5.326 ± 0.029M/s
    
    Reviewed-by: Eduard Zingerman <eddyz87@gmail.com>
    Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
    vvfedorenko authored and Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    26bf9be View commit details
    Browse the repository at this point in the history
  6. selftests: bpf: add testmod kfunc for nullable params

    Add special test to be sure that only __nullable BTF params can be
    replaced by NULL. This patch adds fake kfuncs in bpf_testmod to
    properly test different params.
    
    Acked-by: Eduard Zingerman <eddyz87@gmail.com>
    Signed-off-by: Vadim Fedorenko <vadfed@meta.com>
    vvfedorenko authored and Kernel Patches Daemon committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    75cfcfa View commit details
    Browse the repository at this point in the history