patch-2.1.89 linux/arch/i386/kernel/sys_i386.c
Next file: linux/arch/m68k/atari/joystick.c
Previous file: linux/arch/i386/kernel/setup.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
Fri Feb 27 15:34:40 1998
- Orig file:
v2.1.88/linux/arch/i386/kernel/sys_i386.c
- Orig date:
Mon Dec 8 14:58:44 1997
diff -u --recursive --new-file v2.1.88/linux/arch/i386/kernel/sys_i386.c linux/arch/i386/kernel/sys_i386.c
@@ -65,14 +65,17 @@
lock_kernel();
if (copy_from_user(&a, arg, sizeof(a)))
- goto out;
+ goto out;
if (!(a.flags & MAP_ANONYMOUS)) {
error = -EBADF;
- if (a.fd >= NR_OPEN || !(file = current->files->fd[a.fd]))
+ file = fget(a.fd);
+ if (!file)
goto out;
}
a.flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
error = do_mmap(file, a.addr, a.len, a.prot, a.flags, a.offset);
+ if (file)
+ fput(file);
out:
unlock_kernel();
return error;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov