audit: Make testing for a valid loginuid explicit.
audit rule additions containing "-F auid!=4294967295" were failing
with EINVAL because of a regression caused by e1760bd.
Apparently some userland audit rule sets want to know if loginuid uid
has been set and are using a test for auid != 4294967295 to determine
that.
In practice that is a horrible way to ask if a value has been set,
because it relies on subtle implementation details and will break
every time the uid implementation in the kernel changes.
So add a clean way to test if the audit loginuid has been set, and
silently convert the old idiom to the cleaner and more comprehensible
new idiom.
Cc: <stable@vger.kernel.org> # 3.7
Reported-By: Richard Guy Briggs <rgb@redhat.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Tested-by: Richard Guy Briggs <rgb@redhat.com>
Signed-off-by: Eric Paris <eparis@redhat.com>
	
	
This commit is contained in:
		
					parent
					
						
							
								b24a30a730
							
						
					
				
			
			
				commit
				
					
						780a7654ce
					
				
			
		
					 4 changed files with 25 additions and 3 deletions
				
			
		|  | @ -246,6 +246,7 @@ | |||
| #define AUDIT_OBJ_TYPE	21 | ||||
| #define AUDIT_OBJ_LEV_LOW	22 | ||||
| #define AUDIT_OBJ_LEV_HIGH	23 | ||||
| #define AUDIT_LOGINUID_SET	24 | ||||
| 
 | ||||
| 				/* These are ONLY useful when checking
 | ||||
| 				 * at syscall exit time (AUDIT_AT_EXIT). */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Eric W. Biederman
				Eric W. Biederman