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:
parent
6eed9b2613
commit
01478d7d60
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue