Do you think this should be hardcoded to be obj? Would we ever log the subj? Or should obj be part of the function name to make it clear which piece is getting logged?
I thought of that, though I don't know what variety of option names would be there to be used with that function.

If there is a need to use something other than "obj", like, "subj" or even "tcontext" or "scontext" for example, then I would favour passing the option name as function parameter - something like "void audit_log_secctx(struct audit_buffer *ab, char *secname, u32 secid)" or even "void audit_log_secctx(struct audit_buffer *ab, int secname, u32 secid)" (secname here being one of 0, 1, 2 ... corresponding to "obj", "subj" etc).

Similar approach is already used in audit.c - in audit_log_config_change for example:

static int audit_log_config_change(char *function_name, int new, int old, uid_t loginuid, u32 sessionid, u32 sid, int allow_changes)
{
   struct audit_buffer *ab;
   int rc = 0;

   ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE);
audit_log_format(ab, "%s=%d old=%d auid=%u ses=%u", function_name, new, old, loginuid, sessionid);

--
Linux-audit mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to