···435435436436 /* Private API (for audit.c only) */437437extern unsigned int audit_serial(void);438438-extern void auditsc_get_stamp(struct audit_context *ctx,438438+extern int auditsc_get_stamp(struct audit_context *ctx,439439 struct timespec *t, unsigned int *serial);440440extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid);441441#define audit_get_loginuid(t) ((t)->loginuid)···518518#define audit_inode(n,d) do { ; } while (0)519519#define audit_inode_child(d,i,p) do { ; } while (0)520520#define audit_core_dumps(i) do { ; } while (0)521521-#define auditsc_get_stamp(c,t,s) do { BUG(); } while (0)521521+#define auditsc_get_stamp(c,t,s) (0)522522#define audit_get_loginuid(t) (-1)523523#define audit_get_sessionid(t) (-1)524524#define audit_log_task_context(b) do { ; } while (0)
···19571957 *19581958 * Also sets the context as auditable.19591959 */19601960-void auditsc_get_stamp(struct audit_context *ctx,19601960+int auditsc_get_stamp(struct audit_context *ctx,19611961 struct timespec *t, unsigned int *serial)19621962{19631963+ if (!ctx->in_syscall)19641964+ return 0;19631965 if (!ctx->serial)19641966 ctx->serial = audit_serial();19651967 t->tv_sec = ctx->ctime.tv_sec;19661968 t->tv_nsec = ctx->ctime.tv_nsec;19671969 *serial = ctx->serial;19681970 ctx->auditable = 1;19711971+ return 1;19691972}1970197319711974/* global counter which is incremented every time something logs in */