mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
Merge branch 'next' of git://github.com/cschaufler/smack-next
This commit is contained in:
commit
54b87a7d94
@ -280,6 +280,7 @@ int smk_access(struct smack_known *, struct smack_known *,
|
|||||||
int smk_tskacc(struct task_smack *, struct smack_known *,
|
int smk_tskacc(struct task_smack *, struct smack_known *,
|
||||||
u32, struct smk_audit_info *);
|
u32, struct smk_audit_info *);
|
||||||
int smk_curacc(struct smack_known *, u32, struct smk_audit_info *);
|
int smk_curacc(struct smack_known *, u32, struct smk_audit_info *);
|
||||||
|
int smack_str_from_perm(char *string, int access);
|
||||||
struct smack_known *smack_from_secid(const u32);
|
struct smack_known *smack_from_secid(const u32);
|
||||||
char *smk_parse_smack(const char *string, int len);
|
char *smk_parse_smack(const char *string, int len);
|
||||||
int smk_netlbl_mls(int, char *, struct netlbl_lsm_secattr *, int);
|
int smk_netlbl_mls(int, char *, struct netlbl_lsm_secattr *, int);
|
||||||
|
@ -275,7 +275,6 @@ int smk_curacc(struct smack_known *obj_known,
|
|||||||
return smk_tskacc(tsp, obj_known, mode, a);
|
return smk_tskacc(tsp, obj_known, mode, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_AUDIT
|
|
||||||
/**
|
/**
|
||||||
* smack_str_from_perm : helper to transalate an int to a
|
* smack_str_from_perm : helper to transalate an int to a
|
||||||
* readable string
|
* readable string
|
||||||
@ -283,7 +282,7 @@ int smk_curacc(struct smack_known *obj_known,
|
|||||||
* @access : the int
|
* @access : the int
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static inline void smack_str_from_perm(char *string, int access)
|
int smack_str_from_perm(char *string, int access)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
@ -299,8 +298,15 @@ static inline void smack_str_from_perm(char *string, int access)
|
|||||||
string[i++] = 't';
|
string[i++] = 't';
|
||||||
if (access & MAY_LOCK)
|
if (access & MAY_LOCK)
|
||||||
string[i++] = 'l';
|
string[i++] = 'l';
|
||||||
|
if (access & MAY_BRINGUP)
|
||||||
|
string[i++] = 'b';
|
||||||
|
if (i == 0)
|
||||||
|
string[i++] = '-';
|
||||||
string[i] = '\0';
|
string[i] = '\0';
|
||||||
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_AUDIT
|
||||||
/**
|
/**
|
||||||
* smack_log_callback - SMACK specific information
|
* smack_log_callback - SMACK specific information
|
||||||
* will be called by generic audit code
|
* will be called by generic audit code
|
||||||
|
@ -107,23 +107,7 @@ static char *smk_bu_mess[] = {
|
|||||||
|
|
||||||
static void smk_bu_mode(int mode, char *s)
|
static void smk_bu_mode(int mode, char *s)
|
||||||
{
|
{
|
||||||
int i = 0;
|
smack_str_from_perm(s, mode);
|
||||||
|
|
||||||
if (mode & MAY_READ)
|
|
||||||
s[i++] = 'r';
|
|
||||||
if (mode & MAY_WRITE)
|
|
||||||
s[i++] = 'w';
|
|
||||||
if (mode & MAY_EXEC)
|
|
||||||
s[i++] = 'x';
|
|
||||||
if (mode & MAY_APPEND)
|
|
||||||
s[i++] = 'a';
|
|
||||||
if (mode & MAY_TRANSMUTE)
|
|
||||||
s[i++] = 't';
|
|
||||||
if (mode & MAY_LOCK)
|
|
||||||
s[i++] = 'l';
|
|
||||||
if (i == 0)
|
|
||||||
s[i++] = '-';
|
|
||||||
s[i] = '\0';
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -562,6 +562,7 @@ static void smk_seq_stop(struct seq_file *s, void *v)
|
|||||||
|
|
||||||
static void smk_rule_show(struct seq_file *s, struct smack_rule *srp, int max)
|
static void smk_rule_show(struct seq_file *s, struct smack_rule *srp, int max)
|
||||||
{
|
{
|
||||||
|
char acc[SMK_NUM_ACCESS_TYPE + 1];
|
||||||
/*
|
/*
|
||||||
* Don't show any rules with label names too long for
|
* Don't show any rules with label names too long for
|
||||||
* interface file (/smack/load or /smack/load2)
|
* interface file (/smack/load or /smack/load2)
|
||||||
@ -575,28 +576,11 @@ static void smk_rule_show(struct seq_file *s, struct smack_rule *srp, int max)
|
|||||||
if (srp->smk_access == 0)
|
if (srp->smk_access == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
seq_printf(s, "%s %s",
|
smack_str_from_perm(acc, srp->smk_access);
|
||||||
|
seq_printf(s, "%s %s %s\n",
|
||||||
srp->smk_subject->smk_known,
|
srp->smk_subject->smk_known,
|
||||||
srp->smk_object->smk_known);
|
srp->smk_object->smk_known,
|
||||||
|
acc);
|
||||||
seq_putc(s, ' ');
|
|
||||||
|
|
||||||
if (srp->smk_access & MAY_READ)
|
|
||||||
seq_putc(s, 'r');
|
|
||||||
if (srp->smk_access & MAY_WRITE)
|
|
||||||
seq_putc(s, 'w');
|
|
||||||
if (srp->smk_access & MAY_EXEC)
|
|
||||||
seq_putc(s, 'x');
|
|
||||||
if (srp->smk_access & MAY_APPEND)
|
|
||||||
seq_putc(s, 'a');
|
|
||||||
if (srp->smk_access & MAY_TRANSMUTE)
|
|
||||||
seq_putc(s, 't');
|
|
||||||
if (srp->smk_access & MAY_LOCK)
|
|
||||||
seq_putc(s, 'l');
|
|
||||||
if (srp->smk_access & MAY_BRINGUP)
|
|
||||||
seq_putc(s, 'b');
|
|
||||||
|
|
||||||
seq_putc(s, '\n');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user