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

Commit e33ac1c1 authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman
Browse files

vc: Locking clean up



The virtual console layer uses the BKL for various things that don't really
need it. Clean them out.

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d87d9b7d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/selection.h>
#include <linux/tiocl.h>
#include <linux/console.h>
#include <linux/smp_lock.h>

/* Don't take this from <ctype.h>: 011-015 on the screen aren't spaces */
#define isspace(c)	((c) == ' ')
@@ -312,6 +313,8 @@ int paste_selection(struct tty_struct *tty)
	struct  tty_ldisc *ld;
	DECLARE_WAITQUEUE(wait, current);

	lock_kernel();

	acquire_console_sem();
	poke_blanked_console();
	release_console_sem();
@@ -335,5 +338,6 @@ int paste_selection(struct tty_struct *tty)
	__set_current_state(TASK_RUNNING);

	tty_ldisc_deref(ld);
	unlock_kernel();
	return 0;
}
+4 −3
Original line number Diff line number Diff line
@@ -287,8 +287,12 @@ static inline unsigned short *screenpos(struct vc_data *vc, int offset, int view
	return p;
}

/* Called  from the keyboard irq path.. */
static inline void scrolldelta(int lines)
{
	/* FIXME */
	/* scrolldelta needs some kind of consistency lock, but the BKL was
	   and still is not protecting versus the scheduled back end */
	scrollback_delta += lines;
	schedule_console_callback();
}
@@ -2616,8 +2620,6 @@ int tioclinux(struct tty_struct *tty, unsigned long arg)
		return -EFAULT;
	ret = 0;

	lock_kernel();

	switch (type)
	{
		case TIOCL_SETSEL:
@@ -2692,7 +2694,6 @@ int tioclinux(struct tty_struct *tty, unsigned long arg)
			ret = -EINVAL;
			break;
	}
	unlock_kernel();
	return ret;
}