aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-06-08 13:40:32 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-06-08 14:36:56 +0000
commit54f50864ba74d0c4c63fdc7167f9ff8aac0510f9 (patch)
treec276d219235283de4d25b527731e74a5a758eb52
parentc9fa4d6d35b47255fe92924684caa86c9c3d2c67 (diff)
downloadalpine_aports-54f50864ba74d0c4c63fdc7167f9ff8aac0510f9.tar.bz2
alpine_aports-54f50864ba74d0c4c63fdc7167f9ff8aac0510f9.tar.xz
alpine_aports-54f50864ba74d0c4c63fdc7167f9ff8aac0510f9.zip
main/linux-grsec: fix clearing of screen at boot
fixes #339 (cherry picked from commit 2214577d304e6e0099a902315981d0b908b1b818)
-rw-r--r--main/linux-grsec/APKBUILD4
-rw-r--r--main/linux-grsec/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch48
2 files changed, 51 insertions, 1 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index c2fa87917a..48464c1060 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -4,7 +4,7 @@ _flavor=grsec
4pkgname=linux-${_flavor} 4pkgname=linux-${_flavor}
5pkgver=2.6.32.15 5pkgver=2.6.32.15
6_kernver=2.6.32 6_kernver=2.6.32
7pkgrel=1 7pkgrel=2
8pkgdesc="Linux kernel with grsecurity" 8pkgdesc="Linux kernel with grsecurity"
9url=http://grsecurity.net 9url=http://grsecurity.net
10depends="mkinitfs linux-firmware" 10depends="mkinitfs linux-firmware"
@@ -32,6 +32,7 @@ source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2
32 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch 32 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch
33 xfrm-fix-policy-unreferencing-on-larval-drop.patch 33 xfrm-fix-policy-unreferencing-on-larval-drop.patch
34 r8169-fix-random-mdio_write-failures.patch 34 r8169-fix-random-mdio_write-failures.patch
35 x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch
35 kernelconfig.x86 36 kernelconfig.x86
36 " 37 "
37subpackages="$pkgname-dev linux-firmware:firmware" 38subpackages="$pkgname-dev linux-firmware:firmware"
@@ -159,4 +160,5 @@ c09b82b89a49ba2a3836a0bc3a3312f4 0015-xfrm-cache-bundles-instead-of-policies-fo
15945a676c7a1759fec60b724d557b4e295 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch 16045a676c7a1759fec60b724d557b4e295 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch
160c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.patch 161c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.patch
161ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch 162ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch
163a1bcf76870b63a4a4035a8948fb758e2 x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch
162442d7174a9755ed7bba22ebd4918bbe5 kernelconfig.x86" 164442d7174a9755ed7bba22ebd4918bbe5 kernelconfig.x86"
diff --git a/main/linux-grsec/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch b/main/linux-grsec/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch
new file mode 100644
index 0000000000..a4f94d7fa4
--- /dev/null
+++ b/main/linux-grsec/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch
@@ -0,0 +1,48 @@
1From f1f6baf8f1df29be38003089787e378567ce0086 Mon Sep 17 00:00:00 2001
2From: H. Peter Anvin <hpa@zytor.com>
3Date: Wed, 17 Feb 2010 18:32:06 -0800
4Subject: [PATCH] x86, setup: When restoring the screen, update boot_params.screen_info
5
6When we restore the screen content after a mode change, we return the
7cursor to its former position. However, we need to also update
8boot_params.screen_info accordingly, so that the decompression code
9knows where on the screen the cursor is. Just in case the video BIOS
10does something extra screwy, read the cursor position back from the
11BIOS instead of relying on it doing the right thing.
12
13While we're at it, make sure we cap the cursor position to the new
14screen coordinates.
15
16Reported-by: Wim Osterholt <wim@djo.tudelft.nl>
17Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329
18Signed-off-by: H. Peter Anvin <hpa@zytor.com>
19---
20 arch/x86/boot/video.c | 7 +++++++
21 1 files changed, 7 insertions(+), 0 deletions(-)
22
23diff --git a/arch/x86/boot/video.c b/arch/x86/boot/video.c
24index f767164..43eda28 100644
25--- a/arch/x86/boot/video.c
26+++ b/arch/x86/boot/video.c
27@@ -298,11 +298,18 @@ static void restore_screen(void)
28 }
29
30 /* Restore cursor position */
31+ if (saved.curx >= xs)
32+ saved.curx = xs-1;
33+ if (saved.cury >= ys)
34+ saved.cury = ys-1;
35+
36 initregs(&ireg);
37 ireg.ah = 0x02; /* Set cursor position */
38 ireg.dh = saved.cury;
39 ireg.dl = saved.curx;
40 intcall(0x10, &ireg, NULL);
41+
42+ store_cursor_position();
43 }
44
45 void set_video(void)
46--
471.7.1
48