audit: fix type of sessionid in audit_set_loginuid()
authorEric Paris <eparis@redhat.com>
Wed, 6 Nov 2013 15:47:17 +0000 (10:47 -0500)
committerEric Paris <eparis@redhat.com>
Wed, 6 Nov 2013 16:47:24 +0000 (11:47 -0500)
sfr pointed out that with CONFIG_UIDGID_STRICT_TYPE_CHECKS set the audit
tree would not build.  This is because the oldsessionid in
audit_set_loginuid() was accidentally being declared as a kuid_t.  This
patch fixes that declaration mistake.

Example of problem:
kernel/auditsc.c: In function 'audit_set_loginuid':
kernel/auditsc.c:2003:15: error: incompatible types when assigning to
type 'kuid_t' from type 'int'
  oldsessionid = audit_get_sessionid(current);

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Eric Paris <eparis@redhat.com>
kernel/auditsc.c

index dfc5d6745ee5df7c50c42309ab8d27bcf16af8b5..90594c9f755213232e5282899c8547cd5c61c823 100644 (file)
@@ -1995,8 +1995,8 @@ static void audit_log_set_loginuid(kuid_t koldloginuid, kuid_t kloginuid,
 int audit_set_loginuid(kuid_t loginuid)
 {
        struct task_struct *task = current;
-       unsigned int sessionid = -1;
-       kuid_t oldloginuid, oldsessionid;
+       unsigned int oldsessionid, sessionid = (unsigned int)-1;
+       kuid_t oldloginuid;
        int rc;
 
        oldloginuid = audit_get_loginuid(current);