Re: [PATCH bpf-next 1/2] bpf: add skcipher API support to TC/XDP programs

Jakub Kicinski
2023-10-27T01:35:10Z

On Fri, 27 Oct 2023 00:29:29 +0100 Vadim Fedorenko wrote:
> > Does anything prevent them from being used simultaneously
> > by difference CPUs?
>
> The algorithm configuration and the key can be used by different CPUs
> simultaneously

Makes sense, got confused ctx vs req. You allocate req on the fly.

> >> + case BPF_DYNPTR_TYPE_SKB:
> >> + return skb_pointer_if_linear(ptr->data, ptr->offset, __bpf_dynptr_size(ptr));
> >
> > dynptr takes care of checking if skb can be written to?
>
> dynptr is used to take care of size checking, but this particular part is used
> to provide plain buffer from skb. I'm really sure if we can (or should) encrypt
> or decrypt in-place, so API now assumes that src and dst are different buffers.

Not sure this answers my question. What I'm asking is basically whether
for destination we need to call __bpf_dynptr_is_rdonly() or something
already checks that.