Re: [PATCH for-next v4] cgroup/bpf: fast path skb BPF filtering

From: Pavel Begunkov
Date: Thu Jan 27 2022 - 08:53:28 EST


On 1/27/22 05:08, Alexei Starovoitov wrote:
On Wed, Jan 26, 2022 at 1:29 PM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote:

On 1/26/22 20:30, Martin KaFai Lau wrote:
On Wed, Jan 26, 2022 at 12:22:13AM +0000, Pavel Begunkov wrote:
#define BPF_CGROUP_RUN_PROG_INET_INGRESS(sk, skb) \
({ \
int __ret = 0; \
- if (cgroup_bpf_enabled(CGROUP_INET_INGRESS)) \
+ if (cgroup_bpf_enabled(CGROUP_INET_INGRESS) && sk && \
From reading sk_filter_trim_cap() where this will be called, sk cannot be NULL.
If yes, the new sk test is not needed.

Well, there is no sane way to verify how it's used considering

EXPORT_SYMBOL(__cgroup_bpf_run_filter_skb);

BPF_CGROUP_RUN_PROG_INET_INGRESS() is used in one place.
Are you folks saying that you want to remove !sk check
from __cgroup_bpf_run_filter_skb()?
Seems like micro optimization, but sure why not.

EXPORT_SYMBOL() is there because of "ipv6 as a module" mess.
So it's not a concern.

Ok. I'd usually assume symbols for internal use only to be GPL.


Pls tag the subj of the patch with [PATCH bpf-next]
instead of "for-next".

--
Pavel Begunkov