summaryrefslogtreecommitdiff
path: root/debian/patches/42_disable_ioperm.patch
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2006-01-14 22:06:48 +0000
committerGuillem Jover <guillem@debian.org>2006-01-14 22:06:48 +0000
commitb88aac5c0555a853c707ac5a620279d86dca2b52 (patch)
tree5efa4137b4796a3cae7976923fc595b84df6afaf /debian/patches/42_disable_ioperm.patch
parent91ba9722acc0d10eb76815c829f7ea734cfd68ea (diff)
* Actually enable the io access disabling patch.
- debian/patches/42_disable_ioperm.disabled: Rename to ... - debian/patches/42_disable_ioperm.patch: ... this.
Diffstat (limited to 'debian/patches/42_disable_ioperm.patch')
-rw-r--r--debian/patches/42_disable_ioperm.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/debian/patches/42_disable_ioperm.patch b/debian/patches/42_disable_ioperm.patch
new file mode 100644
index 0000000..2a292ec
--- /dev/null
+++ b/debian/patches/42_disable_ioperm.patch
@@ -0,0 +1,53 @@
+#DPATCHLEVEL=0
+
+2001-10-07 Marcus Brinkmann <marcus@gnu.org>
+
+ * i386/i386/iopb.c (iopb_create, i386_io_port_add): Disable io
+ permissions by default.
+
+2004-11-16 Guillem Jover <guillem@hadrons.org>
+
+ * i386/i386/ktss.c (ktss_init): Disable io permissions by default.
+
+
+--- i386/i386/iopb.c Tue Feb 25 22:27:09 1997
++++ i386/i386/iopb.c Sun Oct 7 05:00:09 2001
+@@ -270,7 +270,7 @@
+ register iopb_tss_t ts;
+
+ ts = (iopb_tss_t) kalloc(sizeof (struct iopb_tss));
+- io_tss_init(ts, TRUE); /* XXX */
++ io_tss_init(ts, FALSE);
+ return ts;
+ }
+
+@@ -357,7 +360,7 @@
+ simple_unlock(&iopb_lock);
+
+ new_io_tss = (iopb_tss_t) kalloc(sizeof(struct iopb_tss));
+- io_tss_init(new_io_tss, TRUE); /* XXX */
++ io_tss_init(new_io_tss, FALSE);
+
+ goto Retry;
+ }
+--- i386/i386/ktss.c 25 Feb 1997 21:27:10 -0000 1.1.1.1
++++ i386/i386/ktss.c 16 Nov 2004 06:55:28 -0000
+@@ -44,7 +44,7 @@
+
+ /* Initialize the master TSS descriptor. */
+ fill_gdt_descriptor(KERNEL_TSS,
+- kvtolin(&ktss), sizeof(ktss)+65536/8+1-1,
++ kvtolin(&ktss), sizeof(ktss)-1,
+ ACC_PL_K|ACC_TSS, 0);
+
+ /* Initialize the master TSS. */
+@@ -52,9 +52,6 @@
+ ktss.esp0 = (unsigned)(exception_stack+1024);
+ ktss.io_bit_map_offset = sizeof(ktss);
+
+- /* Set the last byte in the I/O bitmap to all 1's. */
+- ((unsigned char*)&ktss)[sizeof(ktss)+65536/8] = 0xff;
+-
+ /* Load the TSS. */
+ ltr(KERNEL_TSS);
+ }