Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.4.13-pre4 /arch/i386/kernel/ldt.c

Filename:/arch/i386/kernel/ldt.c
Lines Added:22
Lines Deleted:0
Also changed in: (Previous) 2.4.8  2.4.8-pre8  2.4.8-pre7  2.4.8-pre5  2.4.8-pre6  2.4.8-pre4 
(Following) 2.4.13-pre5  2.4.13-pre6  2.4.13  2.4.20-pre5-ac1  2.4.20-pre5-ac2  2.4.20-pre5-ac3 

Location
[  2.4.13-pre4
  [  arch
    [  i386
      [  kernel
         o  ldt.c

Patch

diff -u --recursive --new-file v2.4.12/linux/arch/i386/kernel/ldt.c linux/arch/i386/kernel/ldt.c
--- v2.4.12/linux/arch/i386/kernel/ldt.c   Sun Aug 12 13:27:58 2001
+++ linux/arch/i386/kernel/ldt.c   Wed Oct 17 14:46:29 2001
@@ -45,6 +45,25 @@
    return err;
 }
 
+static int read_default_ldt(void * ptr, unsigned long bytecount)
+{
+   int err;
+   unsigned long size;
+   void *address;
+
+   err = 0;
+   address = &default_ldt[0];
+   size = sizeof(struct desc_struct);
+   if (size > bytecount)
+      size = bytecount;
+
+   err = size;
+   if (copy_to_user(ptr, address, size))
+      err = -EFAULT;
+
+   return err;
+}
+
 static int write_ldt(void * ptr, unsigned long bytecount, int oldmode)
 {
    struct mm_struct * mm = current->mm;
@@ -139,6 +158,9 @@
       break;
    case 1:
       ret = write_ldt(ptr, bytecount, 1);
+      break;
+   case 2:
+      ret = read_default_ldt(ptr, bytecount);
       break;
    case 0x11:
       ret = write_ldt(ptr, bytecount, 0);


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.