audit: use atomic_t to simplify audit_serial()

Since there is already a primitive to do this operation in the atomic_t, use it
to simplify audit_serial().

Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
This commit is contained in:
Richard Guy Briggs 2014-06-13 18:22:00 -04:00 committed by Eric Paris
parent 6eed9b2613
commit 01478d7d60
1 changed files with 2 additions and 12 deletions

View File

@ -1301,19 +1301,9 @@ static struct audit_buffer * audit_buffer_alloc(struct audit_context *ctx,
*/
unsigned int audit_serial(void)
{
static DEFINE_SPINLOCK(serial_lock);
static unsigned int serial = 0;
static atomic_t serial = ATOMIC_INIT(0);
unsigned long flags;
unsigned int ret;
spin_lock_irqsave(&serial_lock, flags);
do {
ret = ++serial;
} while (unlikely(!ret));
spin_unlock_irqrestore(&serial_lock, flags);
return ret;
return atomic_add_return(1, &serial);
}
static inline void audit_get_stamp(struct audit_context *ctx,