diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2010-06-08 13:40:32 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-06-08 14:36:56 +0000 |
commit | 54f50864ba74d0c4c63fdc7167f9ff8aac0510f9 (patch) | |
tree | c276d219235283de4d25b527731e74a5a758eb52 | |
parent | c9fa4d6d35b47255fe92924684caa86c9c3d2c67 (diff) | |
download | alpine_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/APKBUILD | 4 | ||||
-rw-r--r-- | main/linux-grsec/x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch | 48 |
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 | |||
4 | pkgname=linux-${_flavor} | 4 | pkgname=linux-${_flavor} |
5 | pkgver=2.6.32.15 | 5 | pkgver=2.6.32.15 |
6 | _kernver=2.6.32 | 6 | _kernver=2.6.32 |
7 | pkgrel=1 | 7 | pkgrel=2 |
8 | pkgdesc="Linux kernel with grsecurity" | 8 | pkgdesc="Linux kernel with grsecurity" |
9 | url=http://grsecurity.net | 9 | url=http://grsecurity.net |
10 | depends="mkinitfs linux-firmware" | 10 | depends="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 | " |
37 | subpackages="$pkgname-dev linux-firmware:firmware" | 38 | subpackages="$pkgname-dev linux-firmware:firmware" |
@@ -159,4 +160,5 @@ c09b82b89a49ba2a3836a0bc3a3312f4 0015-xfrm-cache-bundles-instead-of-policies-fo | |||
159 | 45a676c7a1759fec60b724d557b4e295 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch | 160 | 45a676c7a1759fec60b724d557b4e295 0018-xfrm-Fix-crashes-in-xfrm_lookup.patch |
160 | c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.patch | 161 | c7e606c11c05ff03012b21c3fe0ece47 xfrm-fix-policy-unreferencing-on-larval-drop.patch |
161 | ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch | 162 | ce4a74190febe13713bab1b886dd5bee r8169-fix-random-mdio_write-failures.patch |
163 | a1bcf76870b63a4a4035a8948fb758e2 x86-setup-When-restoring-the-screen-update-boot_params-screen_info.patch | ||
162 | 442d7174a9755ed7bba22ebd4918bbe5 kernelconfig.x86" | 164 | 442d7174a9755ed7bba22ebd4918bbe5 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 @@ | |||
1 | From f1f6baf8f1df29be38003089787e378567ce0086 Mon Sep 17 00:00:00 2001 | ||
2 | From: H. Peter Anvin <hpa@zytor.com> | ||
3 | Date: Wed, 17 Feb 2010 18:32:06 -0800 | ||
4 | Subject: [PATCH] x86, setup: When restoring the screen, update boot_params.screen_info | ||
5 | |||
6 | When we restore the screen content after a mode change, we return the | ||
7 | cursor to its former position. However, we need to also update | ||
8 | boot_params.screen_info accordingly, so that the decompression code | ||
9 | knows where on the screen the cursor is. Just in case the video BIOS | ||
10 | does something extra screwy, read the cursor position back from the | ||
11 | BIOS instead of relying on it doing the right thing. | ||
12 | |||
13 | While we're at it, make sure we cap the cursor position to the new | ||
14 | screen coordinates. | ||
15 | |||
16 | Reported-by: Wim Osterholt <wim@djo.tudelft.nl> | ||
17 | Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329 | ||
18 | Signed-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 | |||
23 | diff --git a/arch/x86/boot/video.c b/arch/x86/boot/video.c | ||
24 | index 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 | -- | ||
47 | 1.7.1 | ||
48 | |||