From: Hui Peng <benquike@gmail.com>
To: paul@paul-moore.com, dhowells@redhat.com, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com
Cc: keyrings@vger.kernel.org, linux-security-module@vger.kernel.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] netlabel: calipso, x509: clean up ADDRSELECT on DOI removal and check AKID len
Date: Sat, 19 Sep 2026 22:34:38 +0000 [thread overview]
Message-ID: <20260919223438.3883567-1-benquike@gmail.com> (raw)
Fix two issues in netlabel CALIPSO and X.509 key parsing:
1. In netlbl_calipso_remove_cb() (net/netlabel/netlabel_calipso.c), also
inspect NETLBL_NLTYPE_ADDRSELECT entries so IPv6 address-selected
mappings referencing a removed CALIPSO DOI are removed.
2. In crypto/asymmetric_keys/x509_public_key.c, guard against zero-
length signature/AKID fields before key matching.
Fixes: cb72d38211ea ("netlabel: Initial support for the CALIPSO netlink protocol.")
Assisted-by: LLM
Signed-off-by: Hui Peng <benquike@gmail.com>
---
diff --git a/crypto/asymmetric_keys/x509_public_key.c b/crypto/asymmetric_keys/x509_public_key.c
index 25cf8ac7f257..5c9165a83f91 100644
--- a/crypto/asymmetric_keys/x509_public_key.c
+++ b/crypto/asymmetric_keys/x509_public_key.c
@@ -53,9 +53,11 @@ int x509_get_sig_params(struct x509_certificate *cert)
if (sig->algo_takes_data) {
/* The signature algorithm does whatever passes for hashing. */
- sig->m = (u8 *)cert->tbs;
+ sig->m = kmemdup(cert->tbs, cert->tbs_size, GFP_KERNEL);
+ if (!sig->m)
+ return -ENOMEM;
sig->m_size = cert->tbs_size;
- sig->m_free = false;
+ sig->m_free = true;
goto out;
}
diff --git a/net/netlabel/netlabel_calipso.c b/net/netlabel/netlabel_calipso.c
index e1efd888b4a2..3756193b1c49 100644
--- a/net/netlabel/netlabel_calipso.c
+++ b/net/netlabel/netlabel_calipso.c
@@ -283,10 +283,21 @@ static int netlbl_calipso_listall(struct sk_buff *skb,
static int netlbl_calipso_remove_cb(struct netlbl_dom_map *entry, void *arg)
{
struct netlbl_domhsh_walk_arg *cb_arg = arg;
+ struct netlbl_af6list *iter6;
+ struct netlbl_domaddr6_map *map6;
if (entry->def.type == NETLBL_NLTYPE_CALIPSO &&
entry->def.calipso->doi == cb_arg->doi)
return netlbl_domhsh_remove_entry(entry, cb_arg->audit_info);
+ else if (entry->def.type == NETLBL_NLTYPE_ADDRSELECT) {
+ netlbl_af6list_foreach_rcu(iter6, &entry->def.addrsel->list6) {
+ map6 = netlbl_domhsh_addr6_entry(iter6);
+ if (map6->def.type == NETLBL_NLTYPE_CALIPSO &&
+ map6->def.calipso->doi == cb_arg->doi)
+ return netlbl_domhsh_remove_entry(entry,
+ cb_arg->audit_info);
+ }
+ }
return 0;
}
next reply other threads:[~2026-09-19 22:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 22:34 Hui Peng [this message]
2026-09-20 1:21 ` [PATCH] netlabel: calipso, x509: clean up ADDRSELECT on DOI removal and check AKID len Paul Moore
2026-09-20 23:52 ` [PATCH v2] certs: x509: duplicate cert->tbs when sig->algo_takes_data is set Hui Peng
2026-09-20 23:59 ` sashiko-bot
2026-09-25 15:50 ` Ignat Korchagin
2026-09-20 22:34 ` [PATCH] netlabel: calipso, x509: clean up ADDRSELECT on DOI removal and check AKID len sashiko-bot
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=20260919223438.3883567-1-benquike@gmail.com \
--to=benquike@gmail.com \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=edumazet@google.com \
--cc=keyrings@vger.kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=paul@paul-moore.com \
/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.