UBUNTU: SAUCE: apparmor4.0.0 [32/90]: LSM stacking v39: LSM: Identify which LSM handles the context string

BugLink: http://bugs.launchpad.net/bugs/2028253

The security_secctx_to_secid() call can only interpret the
context string for a single LSM. Use the first LSM that supplies a hook.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
(cherry picked from commit 511160cd033a7b1d4caa080a465147b1e98913f4
https://git.launchpad.net/~apparmor-dev/ubuntu-kernel-next)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
This commit is contained in:
Casey Schaufler
2023-11-15 16:41:08 -08:00
committed by Paolo Pisati
parent 1b0649d395
commit 03870e6b9a
+6 -1
View File
@@ -4267,8 +4267,13 @@ EXPORT_SYMBOL(security_lsmblob_to_secctx);
*/
int security_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid)
{
struct security_hook_list *hp;
*secid = 0;
return call_int_hook(secctx_to_secid, 0, secdata, seclen, secid);
hlist_for_each_entry(hp, &security_hook_heads.secctx_to_secid, list)
return hp->hook.secctx_to_secid(secdata, seclen, secid);
return LSM_RET_DEFAULT(secctx_to_secid);
}
EXPORT_SYMBOL(security_secctx_to_secid);