History

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.

Eric W. Biederman committed 13 years ago

Commit 780a7651 parent b24a30a4 files · +25 −3Browse files

Showing the changes to include/uapi (1 of 4 files). Show all

Unified · Split

include/uapi/linux/audit.h+1−0
@@ -246,6 +246,7 @@ · 245 unmodified lines
246246 #define AUDIT_OBJ_TYPE 21
247247 #define AUDIT_OBJ_LEV_LOW 22
248248 #define AUDIT_OBJ_LEV_HIGH 23
249+#define AUDIT_LOGINUID_SET 24
249250
250251 /* These are ONLY useful when checking
251252 * at syscall exit time (AUDIT_AT_EXIT). */