Security: Add Hook to test if the particular xattr is part of a MAC model.
The interface to request security labels from user space is the xattr interface. When requesting the security label from an NFS server it is important to make sure the requested xattr actually is a MAC label. This allows us to make sure that we get the desired semantics from the attribute instead of something else such as capabilities or a time based LSM. Acked-by: Eric Paris <eparis@redhat.com> Acked-by: James Morris <james.l.morris@oracle.com> Signed-off-by: Matthew N. Dodd <Matthew.Dodd@sparta.com> Signed-off-by: Miguel Rodel Felipe <Rodel_FM@dsi.a-star.edu.sg> Signed-off-by: Phua Eu Gene <PHUA_Eu_Gene@dsi.a-star.edu.sg> Signed-off-by: Khin Mi Mi Aung <Mi_Mi_AUNG@dsi.a-star.edu.sg> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:

committato da
Trond Myklebust

parent
d47be3dfec
commit
746df9b59c
@@ -3328,6 +3328,16 @@ static void smack_audit_rule_free(void *vrule)
|
||||
|
||||
#endif /* CONFIG_AUDIT */
|
||||
|
||||
/**
|
||||
* smack_ismaclabel - check if xattr @name references a smack MAC label
|
||||
* @name: Full xattr name to check.
|
||||
*/
|
||||
static int smack_ismaclabel(const char *name)
|
||||
{
|
||||
return (strcmp(name, XATTR_SMACK_SUFFIX) == 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* smack_secid_to_secctx - return the smack label for a secid
|
||||
* @secid: incoming integer
|
||||
@@ -3524,6 +3534,7 @@ struct security_operations smack_ops = {
|
||||
.audit_rule_free = smack_audit_rule_free,
|
||||
#endif /* CONFIG_AUDIT */
|
||||
|
||||
.ismaclabel = smack_ismaclabel,
|
||||
.secid_to_secctx = smack_secid_to_secctx,
|
||||
.secctx_to_secid = smack_secctx_to_secid,
|
||||
.release_secctx = smack_release_secctx,
|
||||
|
Fai riferimento in un nuovo problema
Block a user