Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37282a77 authored by Peter Hurley's avatar Peter Hurley Committed by Greg Kroah-Hartman
Browse files

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: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b50819f4
Loading
Loading
Loading
Loading
+3 −32
Original line number Diff line number Diff line
@@ -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.
 * Flush the buffer or return an appropriate error code.
 *	Returns 0 if success, -EPERM if tty audit is disabled
 */
int tty_audit_push_current(void)
int tty_audit_push(void)
{
	struct tty_audit_buf *buf = ERR_PTR(-EPERM);
	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);
	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(&current->sighand->siglock, flags);
	if (likely(!current->signal->audit_tty)) {
		spin_unlock_irqrestore(&current->sighand->siglock, flags);
		return;
	}
	buf = current->signal->tty_audit_buf;
	if (buf)
		atomic_inc(&buf->count);
	spin_unlock_irqrestore(&current->sighand->siglock, flags);

	if (buf) {
		mutex_lock(&buf->mutex);
		tty_audit_buf_push(buf);
		mutex_unlock(&buf->mutex);
		tty_audit_buf_put(buf);
	}
}
+2 −6
Original line number Diff line number Diff line
@@ -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_fork(struct signal_struct *sig);
extern void tty_audit_tiocsti(struct tty_struct *tty, char ch);
extern void tty_audit_push(void);
extern int tty_audit_push_current(void);
extern int tty_audit_push(void);
#else
static inline void tty_audit_add_data(struct tty_struct *tty, const void *data,
				      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_push(void)
{
}
static inline int tty_audit_push_current(void)
static inline int tty_audit_push(void)
{
	return 0;
}
+1 −1
Original line number Diff line number Diff line
@@ -920,7 +920,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
		if (err == 1) { /* match or error */
			err = 0;
			if (msg_type == AUDIT_USER_TTY) {
				err = tty_audit_push_current();
				err = tty_audit_push();
				if (err)
					break;
			}