From 7546f81b51c2a8f15daf9eb104b5fbf6cf62d4d9 Mon Sep 17 00:00:00 2001 From: Yoichi Yuasa Date: Wed, 6 Dec 2006 20:38:38 -0800 Subject: [PATCH] --- yaml --- r: 42880 b: refs/heads/master c: 403aac965eba17a360a93c3b679f57b21030d4cd h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/char/vt.c | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index a75d351b4f85..02e94f0962f6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: db68b189f4b8026b2f532e1b1bbdba5fcb36638c +refs/heads/master: 403aac965eba17a360a93c3b679f57b21030d4cd diff --git a/trunk/drivers/char/vt.c b/trunk/drivers/char/vt.c index 75ff0286e1ad..a8239dac994f 100644 --- a/trunk/drivers/char/vt.c +++ b/trunk/drivers/char/vt.c @@ -152,7 +152,7 @@ static void gotoxy(struct vc_data *vc, int new_x, int new_y); static void save_cur(struct vc_data *vc); static void reset_terminal(struct vc_data *vc, int do_clear); static void con_flush_chars(struct tty_struct *tty); -static void set_vesa_blanking(char __user *p); +static int set_vesa_blanking(char __user *p); static void set_cursor(struct vc_data *vc); static void hide_cursor(struct vc_data *vc); static void console_callback(struct work_struct *ignored); @@ -2369,7 +2369,7 @@ int tioclinux(struct tty_struct *tty, unsigned long arg) ret = __put_user(data, p); break; case TIOCL_SETVESABLANK: - set_vesa_blanking(p); + ret = set_vesa_blanking(p); break; case TIOCL_GETKMSGREDIRECT: data = kmsg_redirect; @@ -3313,11 +3313,15 @@ postcore_initcall(vtconsole_class_init); * Screen blanking */ -static void set_vesa_blanking(char __user *p) +static int set_vesa_blanking(char __user *p) { - unsigned int mode; - get_user(mode, p + 1); - vesa_blank_mode = (mode < 4) ? mode : 0; + unsigned int mode; + + if (get_user(mode, p + 1)) + return -EFAULT; + + vesa_blank_mode = (mode < 4) ? mode : 0; + return 0; } void do_blank_screen(int entering_gfx)