AUDIT: Reduce contention in audit_serial()
[safe/jmp/linux-2.6] / kernel / audit.c
index 27ffcf3..d321e25 100644 (file)
@@ -625,7 +625,9 @@ unsigned int audit_serial(void)
        unsigned int ret;
 
        spin_lock_irqsave(&serial_lock, flags);
-       ret = serial++;
+       do {
+               ret = ++serial;
+       } while (unlikely(!ret));
        spin_unlock_irqrestore(&serial_lock, flags);
 
        return ret;