mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
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: Richard Guy Briggs <rgb@redhat.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
8443075eac
commit
833fc48d18
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user