]> git.pld-linux.org Git - packages/kernel.git/blob - linux-2.4.20-ioperm.patch
- netfilter/ip_nat_* fix needed for big-endians; detailed description inside
[packages/kernel.git] / linux-2.4.20-ioperm.patch
1 --- linux-2.4.20-gw3/arch/i386/kernel/ioport.c  2003-05-16 23:42:47.000000000 +0100
2 +++ linux-2.4.20-gw4/arch/i386/kernel/ioport.c  2003-05-16 23:42:49.000000000 +0100
3 @@ -72,17 +72,18 @@
4                  */
5                 memset(t->io_bitmap,0xff,(IO_BITMAP_SIZE+1)*4);
6                 t->ioperm = 1;
7 -               /*
8 -                * this activates it in the TSS
9 -                */
10 -               tss->bitmap = IO_BITMAP_OFFSET;
11         }
12  
13         /*
14          * do it in the per-thread copy and in the TSS ...
15          */
16         set_bitmap(t->io_bitmap, from, num, !turn_on);
17 -       set_bitmap(tss->io_bitmap, from, num, !turn_on);
18 +       if (tss->bitmap == IO_BITMAP_OFFSET) { /* already active? */
19 +               set_bitmap(tss->io_bitmap, from, num, !turn_on);
20 +       } else {
21 +               memcpy(tss->io_bitmap, t->io_bitmap, IO_BITMAP_SIZE);
22 +               tss->bitmap = IO_BITMAP_OFFSET; /* Activate it in the TSS */
23 +       }
24  
25         return 0;
26  }
This page took 0.377442 seconds and 3 git commands to generate.