Prechádzať zdrojové kódy

[AUDIT] Fix signedness of 'serial' in various routines.

Attached is a patch that corrects a signed/unsigned warning. I also noticed
that we needlessly init serial to 0. That only needs to occur if the kernel
was compiled without the audit system.

-Steve Grubb

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Steve Grubb 20 rokov pred
rodič
commit
d812ddbb89
3 zmenil súbory, kde vykonal 6 pridanie a 4 odobranie
  1. 1 1
      include/linux/audit.h
  2. 4 2
      kernel/audit.c
  3. 1 1
      kernel/auditsc.c

+ 1 - 1
include/linux/audit.h

@@ -186,7 +186,7 @@ extern void audit_inode(const char *name, const struct inode *inode);
 extern int  audit_receive_filter(int type, int pid, int uid, int seq,
 				 void *data);
 extern void audit_get_stamp(struct audit_context *ctx,
-			    struct timespec *t, int *serial);
+			    struct timespec *t, unsigned int *serial);
 extern int  audit_set_loginuid(struct audit_context *ctx, uid_t loginuid);
 extern uid_t audit_get_loginuid(struct audit_context *ctx);
 extern int audit_ipc_perms(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode);

+ 4 - 2
kernel/audit.c

@@ -620,7 +620,7 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx)
 	struct audit_buffer	*ab	= NULL;
 	unsigned long		flags;
 	struct timespec		t;
-	int			serial	= 0;
+	unsigned int		serial;
 
 	if (!audit_initialized)
 		return NULL;
@@ -669,8 +669,10 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx)
 		audit_get_stamp(ab->ctx, &t, &serial);
 	else
 #endif
+	{
 		t = CURRENT_TIME;
-
+		serial = 0;
+	}
 	audit_log_format(ab, "audit(%lu.%03lu:%u): ",
 			 t.tv_sec, t.tv_nsec/1000000, serial);
 	return ab;

+ 1 - 1
kernel/auditsc.c

@@ -992,7 +992,7 @@ void audit_inode(const char *name, const struct inode *inode)
 }
 
 void audit_get_stamp(struct audit_context *ctx,
-		     struct timespec *t, int *serial)
+		     struct timespec *t, unsigned int *serial)
 {
 	if (ctx) {
 		t->tv_sec  = ctx->ctime.tv_sec;