Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 833fc48d authored by Richard Guy Briggs's avatar Richard Guy Briggs Committed by Paul Moore
Browse files

audit: skip sessionid sentinel value when auto-incrementing



The value (unsigned int)-1 is used as a sentinel to indicate the
sessionID is unset.  Skip this value when the session_id value wraps.

Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent 8443075e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2025,8 +2025,11 @@ int audit_set_loginuid(kuid_t loginuid)
		goto out;

	/* are we setting or clearing? */
	if (uid_valid(loginuid))
	if (uid_valid(loginuid)) {
		sessionid = (unsigned int)atomic_inc_return(&session_id);
		if (unlikely(sessionid == (unsigned int)-1))
			sessionid = (unsigned int)atomic_inc_return(&session_id);
	}

	task->sessionid = sessionid;
	task->loginuid = loginuid;