All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Mahe Tardy" <mahe.tardy@gmail.com>
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH bpf-next 2/6] bpf: Add ksock kfuncs
Date: Mon, 06 Jul 2026 10:01:41 +0000	[thread overview]
Message-ID: <20260706100142.6233C1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260706093525.13030-3-mahe.tardy@gmail.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Missing rollback of pernet subsystem on initialization error paths in `bpf_ksock_kfunc_init`.
--

commit c26355c87f06c9eb5cc9cceccb20cfce50aa1e1e
Author: Mahe Tardy <mahe.tardy@gmail.com>

bpf: Add ksock kfuncs

This commit introduces BPF kfuncs to allow BPF LSM and SYSCALL programs to
create and use sockets for sending data. It adds several lifecycle and usage
kfuncs for kernel sockets, limits socket creation via a per-namespace sysctl,
and registers the necessary BTF kfuncs.

> diff --git a/net/core/bpf_ksock.c b/net/core/bpf_ksock.c
> new file mode 100644
> index 0000000000000..8bde734bc917d
> --- /dev/null
> +++ b/net/core/bpf_ksock.c

[ ... ]

> +static int __init bpf_ksock_kfunc_init(void)
> +{
> +	int ret;
> +	const struct btf_id_dtor_kfunc bpf_ksock_dtors[] = {
> +		{
> +			.btf_id = bpf_ksock_dtor_ids[0],
> +			.kfunc_btf_id = bpf_ksock_dtor_ids[1],
> +		},
> +	};
> +
> +	ret = register_pernet_subsys(&bpf_ksock_net_ops);
> +	if (ret)
> +		return ret;
> +
> +	ret = register_btf_kfunc_id_set(BPF_PROG_TYPE_SYSCALL,
> +					&ksock_init_kfunc_set);
> +	if (ret) {
> +		unregister_pernet_subsys(&bpf_ksock_net_ops);
> +		return ret;
> +	}
> +
> +	ret = register_btf_kfunc_id_set(BPF_PROG_TYPE_SYSCALL,
> +					&ksock_kfunc_set);
> +	ret = ret ?: register_btf_kfunc_id_set(BPF_PROG_TYPE_LSM,
> +					       &ksock_kfunc_set);
> +	return ret = ret ?: register_btf_id_dtor_kfuncs(bpf_ksock_dtors,
> +						 ARRAY_SIZE(bpf_ksock_dtors),
> +						 THIS_MODULE);

[Severity: Medium]
If the later register_btf_kfunc_id_set() or register_btf_id_dtor_kfuncs()
calls fail in bpf_ksock_kfunc_init(), does this leak the pernet operations
registration?

The earlier error path for BPF_PROG_TYPE_SYSCALL registration properly
calls unregister_pernet_subsys(&bpf_ksock_net_ops). If these subsequent
registrations fail, the function returns the error directly without cleaning
up the pernet subsystem.

> +}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260706093525.13030-1-mahe.tardy@gmail.com?part=2

  reply	other threads:[~2026-07-06 10:01 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06  9:35 [PATCH bpf-next 0/6] Introduce bpf_ksock Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 1/6] net: Add __sys_connect_socket() helper Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 2/6] bpf: Add ksock kfuncs Mahe Tardy
2026-07-06 10:01   ` sashiko-bot [this message]
2026-07-06 15:42     ` Mahe Tardy
2026-07-06 10:30   ` bot+bpf-ci
2026-07-06 15:28     ` Mahe Tardy
2026-07-06 16:58   ` Stanislav Fomichev
2026-07-06 17:26     ` Mahe Tardy
2026-07-06 20:21       ` Amery Hung
2026-07-06 21:02       ` Stanislav Fomichev
2026-07-06 22:50         ` Kuniyuki Iwashima
2026-07-07  9:41           ` Mahe Tardy
2026-07-06 21:33   ` Amery Hung
2026-07-07  9:48     ` Mahe Tardy
2026-07-06 23:01   ` Kuniyuki Iwashima
2026-07-07 10:06     ` Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 3/6] selftests/bpf: Add ksock kfunc test Mahe Tardy
2026-07-06 10:10   ` sashiko-bot
2026-07-06 16:11     ` Mahe Tardy
2026-07-06 10:16   ` bot+bpf-ci
2026-07-06 15:27     ` Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 4/6] selftests/bpf: Add ksock LSM recursion test Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 5/6] selftests/bpf: Add ksock net ns quota tests Mahe Tardy
2026-07-06  9:35 ` [PATCH bpf-next 6/6] selftests/bpf: Add ksock test for async callback guard Mahe Tardy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260706100142.6233C1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=mahe.tardy@gmail.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.