Move variable function in lsm_audit.h into SMACK private space
Moved variable function in include/linux/lsm_audit.h into the smack_audit_data struct since it is never used outside of it. Also removed setting of function in the COMMON_AUDIT_DATA_INIT macro because that variable is now private to SMACK. Signed-off-by: Thomas Liu <tliu@redhat.com> Acked-by: Eric Paris <eparis@redhat.com> I-dont-see-any-problems-with-it: Casey Schaufler <casey@schaufler-ca.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
ac7242142b
commit
ed5215a214
@ -66,11 +66,11 @@ struct common_audit_data {
|
|||||||
} key_struct;
|
} key_struct;
|
||||||
#endif
|
#endif
|
||||||
} u;
|
} u;
|
||||||
const char *function;
|
|
||||||
/* this union contains LSM specific data */
|
/* this union contains LSM specific data */
|
||||||
union {
|
union {
|
||||||
/* SMACK data */
|
/* SMACK data */
|
||||||
struct smack_audit_data {
|
struct smack_audit_data {
|
||||||
|
const char *function;
|
||||||
char *subject;
|
char *subject;
|
||||||
char *object;
|
char *object;
|
||||||
char *request;
|
char *request;
|
||||||
@ -104,7 +104,7 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb,
|
|||||||
/* Initialize an LSM audit data structure. */
|
/* Initialize an LSM audit data structure. */
|
||||||
#define COMMON_AUDIT_DATA_INIT(_d, _t) \
|
#define COMMON_AUDIT_DATA_INIT(_d, _t) \
|
||||||
{ memset((_d), 0, sizeof(struct common_audit_data)); \
|
{ memset((_d), 0, sizeof(struct common_audit_data)); \
|
||||||
(_d)->type = LSM_AUDIT_DATA_##_t; (_d)->function = __func__; }
|
(_d)->type = LSM_AUDIT_DATA_##_t; }
|
||||||
|
|
||||||
void common_lsm_audit(struct common_audit_data *a);
|
void common_lsm_audit(struct common_audit_data *a);
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ static inline void smk_ad_init(struct smk_audit_info *a, const char *func,
|
|||||||
{
|
{
|
||||||
memset(a, 0, sizeof(*a));
|
memset(a, 0, sizeof(*a));
|
||||||
a->a.type = type;
|
a->a.type = type;
|
||||||
a->a.function = func;
|
a->a.lsm_priv.smack_audit_data.function = func;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void smk_ad_setfield_u_tsk(struct smk_audit_info *a,
|
static inline void smk_ad_setfield_u_tsk(struct smk_audit_info *a,
|
||||||
|
@ -241,7 +241,8 @@ static void smack_log_callback(struct audit_buffer *ab, void *a)
|
|||||||
{
|
{
|
||||||
struct common_audit_data *ad = a;
|
struct common_audit_data *ad = a;
|
||||||
struct smack_audit_data *sad = &ad->lsm_priv.smack_audit_data;
|
struct smack_audit_data *sad = &ad->lsm_priv.smack_audit_data;
|
||||||
audit_log_format(ab, "lsm=SMACK fn=%s action=%s", ad->function,
|
audit_log_format(ab, "lsm=SMACK fn=%s action=%s",
|
||||||
|
ad->lsm_priv.smack_audit_data.function,
|
||||||
sad->result ? "denied" : "granted");
|
sad->result ? "denied" : "granted");
|
||||||
audit_log_format(ab, " subject=");
|
audit_log_format(ab, " subject=");
|
||||||
audit_log_untrustedstring(ab, sad->subject);
|
audit_log_untrustedstring(ab, sad->subject);
|
||||||
@ -274,8 +275,8 @@ void smack_log(char *subject_label, char *object_label, int request,
|
|||||||
if (result == 0 && (log_policy & SMACK_AUDIT_ACCEPT) == 0)
|
if (result == 0 && (log_policy & SMACK_AUDIT_ACCEPT) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (a->function == NULL)
|
if (a->lsm_priv.smack_audit_data.function == NULL)
|
||||||
a->function = "unknown";
|
a->lsm_priv.smack_audit_data.function = "unknown";
|
||||||
|
|
||||||
/* end preparing the audit data */
|
/* end preparing the audit data */
|
||||||
sad = &a->lsm_priv.smack_audit_data;
|
sad = &a->lsm_priv.smack_audit_data;
|
||||||
|
Loading…
Reference in New Issue
Block a user