mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 15:18:19 +00:00
tty: audit: Combine push functions
tty_audit_push() and tty_audit_push_current() perform identical tasks; eliminate the tty_audit_push() implementation and the tty_audit_push_current() name. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b50819f437
commit
37282a7795
3 changed files with 6 additions and 39 deletions
|
@ -172,12 +172,11 @@ void tty_audit_tiocsti(struct tty_struct *tty, char ch)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tty_audit_push_current - Flush current's pending audit data
|
* tty_audit_push - Flush current's pending audit data
|
||||||
*
|
*
|
||||||
* Try to lock sighand and get a reference to the tty audit buffer if available.
|
* Returns 0 if success, -EPERM if tty audit is disabled
|
||||||
* Flush the buffer or return an appropriate error code.
|
|
||||||
*/
|
*/
|
||||||
int tty_audit_push_current(void)
|
int tty_audit_push(void)
|
||||||
{
|
{
|
||||||
struct tty_audit_buf *buf = ERR_PTR(-EPERM);
|
struct tty_audit_buf *buf = ERR_PTR(-EPERM);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -309,31 +308,3 @@ void tty_audit_add_data(struct tty_struct *tty, const void *data, size_t size)
|
||||||
mutex_unlock(&buf->mutex);
|
mutex_unlock(&buf->mutex);
|
||||||
tty_audit_buf_put(buf);
|
tty_audit_buf_put(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* tty_audit_push - Push buffered data out
|
|
||||||
*
|
|
||||||
* Make sure no audit data is pending on the current process.
|
|
||||||
*/
|
|
||||||
void tty_audit_push(void)
|
|
||||||
{
|
|
||||||
struct tty_audit_buf *buf;
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
spin_lock_irqsave(¤t->sighand->siglock, flags);
|
|
||||||
if (likely(!current->signal->audit_tty)) {
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
buf = current->signal->tty_audit_buf;
|
|
||||||
if (buf)
|
|
||||||
atomic_inc(&buf->count);
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
|
|
||||||
if (buf) {
|
|
||||||
mutex_lock(&buf->mutex);
|
|
||||||
tty_audit_buf_push(buf);
|
|
||||||
mutex_unlock(&buf->mutex);
|
|
||||||
tty_audit_buf_put(buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -597,8 +597,7 @@ extern void tty_audit_add_data(struct tty_struct *tty, const void *data,
|
||||||
extern void tty_audit_exit(void);
|
extern void tty_audit_exit(void);
|
||||||
extern void tty_audit_fork(struct signal_struct *sig);
|
extern void tty_audit_fork(struct signal_struct *sig);
|
||||||
extern void tty_audit_tiocsti(struct tty_struct *tty, char ch);
|
extern void tty_audit_tiocsti(struct tty_struct *tty, char ch);
|
||||||
extern void tty_audit_push(void);
|
extern int tty_audit_push(void);
|
||||||
extern int tty_audit_push_current(void);
|
|
||||||
#else
|
#else
|
||||||
static inline void tty_audit_add_data(struct tty_struct *tty, const void *data,
|
static inline void tty_audit_add_data(struct tty_struct *tty, const void *data,
|
||||||
size_t size)
|
size_t size)
|
||||||
|
@ -613,10 +612,7 @@ static inline void tty_audit_exit(void)
|
||||||
static inline void tty_audit_fork(struct signal_struct *sig)
|
static inline void tty_audit_fork(struct signal_struct *sig)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
static inline void tty_audit_push(void)
|
static inline int tty_audit_push(void)
|
||||||
{
|
|
||||||
}
|
|
||||||
static inline int tty_audit_push_current(void)
|
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -920,7 +920,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||||
if (err == 1) { /* match or error */
|
if (err == 1) { /* match or error */
|
||||||
err = 0;
|
err = 0;
|
||||||
if (msg_type == AUDIT_USER_TTY) {
|
if (msg_type == AUDIT_USER_TTY) {
|
||||||
err = tty_audit_push_current();
|
err = tty_audit_push();
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue