/* setup the audit buffer for common security information uses callback to print LSM specific information  */
void common_lsm_audit(struct common_audit_data *a)
/* setup the audit buffer for common security information uses callback to print LSM specific information  */
void common_lsm_audit(struct common_audit_data *a)
{
	struct audit_buffer *ab;
	if (a == NULL)
		return;
	ab = audit_log_start(current->audit_context, GFP_ATOMIC, AUDIT_AVC);
	if (ab == NULL)
		return;
	if (a->lsm_pre_audit)
		a->lsm_pre_audit(ab, a);
	dump_common_audit_data(ab, a);
	if (a->lsm_post_audit)
		a->lsm_post_audit(ab, a);
	audit_log_end(ab);
}