patch-2.4.23 linux-2.4.23/arch/x86_64/ia32/ia32_ioctl.c
Next file: linux-2.4.23/arch/x86_64/ia32/ia32_signal.c
Previous file: linux-2.4.23/arch/x86_64/ia32/ia32_binfmt.c
Back to the patch index
Back to the overall index
- Lines: 43
- Date:
2003-11-28 10:26:19.000000000 -0800
- Orig file:
linux-2.4.22/arch/x86_64/ia32/ia32_ioctl.c
- Orig date:
2003-08-25 04:44:40.000000000 -0700
diff -urN linux-2.4.22/arch/x86_64/ia32/ia32_ioctl.c linux-2.4.23/arch/x86_64/ia32/ia32_ioctl.c
@@ -1,4 +1,4 @@
-/* $Id: ia32_ioctl.c,v 1.34 2003/05/08 06:34:01 ak Exp $
+/* $Id: ia32_ioctl.c,v 1.37 2003/08/20 11:00:23 ak Exp $
* ioctl32.c: Conversion between 32bit and 64bit native ioctls.
*
* Copyright (C) 1997-2000 Jakub Jelinek (jakub@redhat.com)
@@ -2472,6 +2472,9 @@
mm_segment_t old_fs;
void *karg = &u;
+ if (!capable(CAP_SYS_ADMIN))
+ return -EACCES;
+
switch (cmd) {
case VG_STATUS:
v = kmalloc(sizeof(vg_t), GFP_KERNEL);
@@ -3535,6 +3538,7 @@
COMPATIBLE_IOCTL(TIOCGPTN)
COMPATIBLE_IOCTL(TIOCSPTLCK)
COMPATIBLE_IOCTL(TIOCSERGETLSR)
+COMPATIBLE_IOCTL(FIOQSIZE)
/* Big F */
COMPATIBLE_IOCTL(FBIOGET_VSCREENINFO)
COMPATIBLE_IOCTL(FBIOPUT_VSCREENINFO)
@@ -4416,6 +4420,9 @@
struct ioctl_trans *t;
unsigned long hash = ioctl32_hash(cmd);
+ if (handler == NULL)
+ handler = (void *)sys_ioctl;
+
lock_kernel();
for (t = (struct ioctl_trans *)ioctl32_hash_table[hash];
t;
@@ -4555,7 +4562,7 @@
"cmd(%08x){%s} arg(%08x) on %s\n",
current->comm, current->pid,
(int)fd, (unsigned int)cmd, buf, (unsigned int)arg,
- IS_ERR(fn) ? "???" : fn);
+ fn);
if (path)
free_page((unsigned long)path);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)