From: Christian Göttsche Date: Wed, 12 Mar 2025 08:00:48 +0000 (+0100) Subject: selinux: get netif_wildcard policycap from policy instead of cache X-Git-Tag: v6.15-rc1~188^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a3d3043ef24ac750f05a164e48f3d0833ebf0252;p=thirdparty%2Flinux.git selinux: get netif_wildcard policycap from policy instead of cache Retrieve the netif_wildcard policy capability in security_netif_sid() from the locked active policy instead of the cached value in selinux_state. Fixes: 8af43b61c17e ("selinux: support wildcard network interface names") Signed-off-by: Christian Göttsche Acked-by: Stephen Smalley [PM: /netlabel/netif/ due to a typo in the description] Signed-off-by: Paul Moore --- diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 1b11648d9b858..e431772c61689 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -2587,14 +2587,13 @@ int security_netif_sid(const char *name, u32 *if_sid) return 0; } - wildcard_support = selinux_policycap_netif_wildcard(); - retry: rc = 0; rcu_read_lock(); policy = rcu_dereference(selinux_state.policy); policydb = &policy->policydb; sidtab = policy->sidtab; + wildcard_support = ebitmap_get_bit(&policydb->policycaps, POLICYDB_CAP_NETIF_WILDCARD); c = policydb->ocontexts[OCON_NETIF]; while (c) {