/* This is a convenience function that calls audit_log_start, audit_log_vformat, and audit_log_end. It may be called in any context.  */
void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, const char *fmt,...)
/* This is a convenience function that calls audit_log_start, audit_log_vformat, and audit_log_end. It may be called in any context.  */
void audit_log(struct audit_context *ctx, gfp_t gfp_mask, int type, const char *fmt,...)
{
	struct audit_buffer *ab;
	va_list args;
	ab = audit_log_start(ctx, gfp_mask, type);
	if (ab) {
		va_start(args, fmt);
		audit_log_vformat(ab, fmt, args);
		va_end(args);
		audit_log_end(ab);
	}
}