From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DCD94ADDBC; Sat, 28 Feb 2026 17:34:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300084; cv=none; b=nQUuJt6LOptA7MUto4nVXXuIcDUhzGdj92EBHceDl0X2bvjeq3D2mzTN4hct3eAISQ6PGtT+qdaneAwBNVhaAs9K5SgzhtFwJ5F2y8QjlbwOIqwSvxZtJl/SzRTaZJMDJ2FZHFO2+XQ9Wn1mHHWxzReL2IPB5iNTz/Ksu+dG7P4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300084; c=relaxed/simple; bh=Tt05porqRyRnssxdn9DZukO1OHEjo69i5bpT6YuJ088=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qqBXz0kU2m+Av29v1mCQho0YJ8Yxs9vLUTmJ9wJUmXwquPhJgHNWA0bB2XqPfwhrcW8NgsCE72Rgm7vSj2YWa7vFsdjn1RNeaZpLcwD0lUUWdfesDLy1TAlkUTCXHO1YpDXkfYwnL51hvUlx7KhZYWfW3bemBNBwRdemeRzKdaQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iB8Q+DXl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iB8Q+DXl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43C39C19424; Sat, 28 Feb 2026 17:34:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300083; bh=Tt05porqRyRnssxdn9DZukO1OHEjo69i5bpT6YuJ088=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iB8Q+DXlOntdJ95eItB2rMV9H8nAi4f8oNXmzW9kQUCQrOk0U9pOJ9MU8Tjl9JCoc 7MiPuJzTGbanP4euNr03NT5vOuNcm5E7mgtW+poPtH10uxQiRTeZ4rra3hwsrap/vi 4om/R3/ouW84cSEJf+CImSJ0X3L7JPuseC6mYoF8wyQRjuqCGpj1zerr161YHI6q8l W5/IOlC+rqxf4maIareB4IH6n4X/rKUIyiWSfW+ICat9YINzIhPGbvuqdBdag2Ovx3 CDBFpUUal8UxRNxqFRIb2oc7e1EV8iB2Rjtvsqv0FeObypx7i8b2Mxzw+WD0xJnTzj XL570wlaNw6Tg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sami Tolvanen , Yonghong Song , Alexei Starovoitov , Sasha Levin Subject: [PATCH 6.19 098/844] bpf: net_sched: Use the correct destructor kfunc type Date: Sat, 28 Feb 2026 12:20:11 -0500 Message-ID: <20260228173244.1509663-99-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Sami Tolvanen [ Upstream commit c99d97b46631c4bea0c14b7581b7a59214601e63 ] With CONFIG_CFI enabled, the kernel strictly enforces that indirect function calls use a function pointer type that matches the target function. As bpf_kfree_skb() signature differs from the btf_dtor_kfunc_t pointer type used for the destructor calls in bpf_obj_free_fields(), add a stub function with the correct type to fix the type mismatch. Signed-off-by: Sami Tolvanen Acked-by: Yonghong Song Link: https://lore.kernel.org/r/20260110082548.113748-8-samitolvanen@google.com Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin --- net/sched/bpf_qdisc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/net/sched/bpf_qdisc.c b/net/sched/bpf_qdisc.c index adcb618a2bfca..e9bea9890777d 100644 --- a/net/sched/bpf_qdisc.c +++ b/net/sched/bpf_qdisc.c @@ -202,6 +202,12 @@ __bpf_kfunc void bpf_kfree_skb(struct sk_buff *skb) kfree_skb(skb); } +__bpf_kfunc void bpf_kfree_skb_dtor(void *skb) +{ + bpf_kfree_skb(skb); +} +CFI_NOSEAL(bpf_kfree_skb_dtor); + /* bpf_qdisc_skb_drop - Drop an skb by adding it to a deferred free list. * @skb: The skb whose reference to be released and dropped. * @to_free_list: The list of skbs to be dropped. @@ -449,7 +455,7 @@ static struct bpf_struct_ops bpf_Qdisc_ops = { .owner = THIS_MODULE, }; -BTF_ID_LIST_SINGLE(bpf_sk_buff_dtor_ids, func, bpf_kfree_skb) +BTF_ID_LIST_SINGLE(bpf_sk_buff_dtor_ids, func, bpf_kfree_skb_dtor) static int __init bpf_qdisc_kfunc_init(void) { -- 2.51.0