Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed5215a2 authored by Thomas Liu's avatar Thomas Liu Committed by James Morris
Browse files

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: default avatarThomas Liu <tliu@redhat.com>
Acked-by: default avatarEric Paris <eparis@redhat.com>
I-dont-see-any-problems-with-it: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent ac724214
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -66,11 +66,11 @@ struct common_audit_data {
		} key_struct;
#endif
	} u;
	const char *function;
	/* this union contains LSM specific data */
	union {
		/* SMACK data */
		struct smack_audit_data {
			const char *function;
			char *subject;
			char *object;
			char *request;
@@ -104,7 +104,7 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb,
/* Initialize an LSM audit data structure. */
#define COMMON_AUDIT_DATA_INIT(_d, _t) \
	{ 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);

+1 −1
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ static inline void smk_ad_init(struct smk_audit_info *a, const char *func,
{
	memset(a, 0, sizeof(*a));
	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,
+4 −3
Original line number Diff line number Diff line
@@ -241,7 +241,8 @@ static void smack_log_callback(struct audit_buffer *ab, void *a)
{
	struct common_audit_data *ad = a;
	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");
	audit_log_format(ab, " 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)
		return;

	if (a->function == NULL)
		a->function = "unknown";
	if (a->lsm_priv.smack_audit_data.function == NULL)
		a->lsm_priv.smack_audit_data.function = "unknown";

	/* end preparing the audit data */
	sad = &a->lsm_priv.smack_audit_data;