further __KERNEL_SYSCALLS__ removal
Subsystems (9)
PATCH 1/1 further __KERNEL_SYSCALLS__ removal
Dave Jones already removed some of the useless __KERNEL_SYSCALLS__ defines in various files, this gets rid of almost all the others. Replacing execve() is nontrivial, so I left those in for now.
For all the other system calls that are currently used from inside the kernel, calling the sys_* function directly should always have an identical effect.
tested on s390 and x86_64, patch applies on 2.6.3-mm4 and current bk head.
arch/alpha/kernel/alpha_ksyms.c | 3 --- arch/alpha/kernel/smp.c | 3 --- arch/cris/kernel/process.c | 2 -- arch/parisc/kernel/process.c | 3 --- arch/parisc/kernel/smp.c | 1 - arch/ppc/kernel/misc.S | 10 ---------- arch/ppc/kernel/ppc_ksyms.c | 6 ------ arch/ppc/kernel/smp.c | 2 -- arch/ppc/platforms/chrp_smp.c | 2 -- arch/ppc/platforms/pmac_smp.c | 2 -- arch/ppc64/kernel/misc.S | 10 ---------- arch/ppc64/kernel/pmac_smp.c | 2 -- arch/sparc/kernel/process.c | 2 -- arch/sparc/kernel/smp.c | 3 --- arch/sparc/kernel/sun4d_smp.c | 3 --- arch/sparc/kernel/sun4m_smp.c | 3 --- arch/sparc64/kernel/process.c | 3 --- arch/sparc64/kernel/smp.c | 3 --- arch/x86_64/kernel/process.c | 2 -- drivers/macintosh/mediabay.c | 3 --- drivers/media/dvb/frontends/alps_tdlb7.c | 12 ++++-------- drivers/media/dvb/frontends/sp887x.c | 11 ++++------- drivers/media/dvb/frontends/tda1004x.c | 10 ++++------ drivers/scsi/cpqfcTSinit.c | 4 ---- drivers/scsi/oktagon_esp.c | 3 --- init/do_mounts.c | 24 ++++++++++++------------ init/do_mounts.h | 1 - init/do_mounts_devfs.c | 8 ++++---- init/do_mounts_initrd.c | 29 +++++++++++++++-------------- init/do_mounts_md.c | 10 +++++----- init/do_mounts_rd.c | 30 +++++++++++++++--------------- init/initramfs.c | 2 -- init/main.c | 8 ++++---- sound/isa/wavefront/wavefront_synth.c | 12 ++++++------ sound/oss/wavfront.c | 12 +++++------- 35 files changed, 78 insertions(+), 166 deletions(-)
===== arch/alpha/kernel/alpha_ksyms.c 1.35 vs edited =====
arch/alpha/kernel/alpha_ksyms.c +0 -3
@@ -35,9 +35,6 @@#include <asm/cacheflush.h> #include <asm/vga.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> -extern struct hwrpb_struct *hwrpb;extern void dump_thread (struct pt_regs *,struct user *);extern spinlock_t rtc_lock;
===== arch/alpha/kernel/smp.c 1.39 vs edited =====
arch/alpha/kernel/smp.c +0 -3
@@ -39,9 +39,6 @@#include <asm/mmu_context.h> #include <asm/tlbflush.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> -#include "proto.h" #include "irq_impl.h"
===== arch/cris/kernel/process.c 1.14 vs edited =====
arch/cris/kernel/process.c +0 -2
@@ -91,8 +91,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__ -#include <asm/atomic.h> #include <asm/pgtable.h> #include <asm/uaccess.h>
===== arch/parisc/kernel/process.c 1.14 vs edited =====
arch/parisc/kernel/process.c +0 -3
@@ -1,5 +1,3 @@ -/* -* PARISC Architecture-dependent parts of process handling * based on the work for i386 * * Copyright (C) 1999-2003 Matthew Wilcox <willy at parisc-linux.org>
@@ -32,7 +30,6 @@* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/elf.h>
===== arch/parisc/kernel/smp.c 1.9 vs edited =====
arch/parisc/kernel/smp.c +0 -1
@@ -16,7 +16,6 @@** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. */ -#define __KERNEL_SYSCALLS__#undef ENTRY_SYS_CPUS/* syscall support for iCOD-like functionality */ #include <linux/autoconf.h>
===== arch/ppc/kernel/misc.S 1.52 vs edited =====
arch/ppc/kernel/misc.S +0 -10
@@ -1108,17 +1108,7 @@ li r3,-1; \ blr -#define __NR__exit __NR_exit - -SYSCALL(setsid) -SYSCALL(open) -SYSCALL(read) -SYSCALL(write) -SYSCALL(lseek) -SYSCALL(close) -SYSCALL(dup) SYSCALL(execve) -SYSCALL(waitpid) /* Why isn't this a) automatic, b) written in 'C'? */ .data
===== arch/ppc/kernel/ppc_ksyms.c 1.52 vs edited =====
arch/ppc/kernel/ppc_ksyms.c +0 -6
@@ -32,8 +32,6 @@#include <linux/pmu.h> #include <asm/prom.h> #include <asm/system.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> #include <asm/pci-bridge.h> #include <asm/irq.h> #include <asm/pmac_feature.h>
@@ -189,10 +187,6 @@EXPORT_SYMBOL (flush_dcache_all);#endif -EXPORT_SYMBOL (open); -EXPORT_SYMBOL (read); -EXPORT_SYMBOL (lseek); -EXPORT_SYMBOL (close);EXPORT_SYMBOL (start_thread);EXPORT_SYMBOL (kernel_thread);
===== arch/ppc/kernel/smp.c 1.41 vs edited =====
arch/ppc/kernel/smp.c +0 -2
@@ -17,8 +17,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/cache.h>
===== arch/ppc/platforms/chrp_smp.c 1.9 vs edited =====
arch/ppc/platforms/chrp_smp.c +0 -2
@@ -16,8 +16,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h>
===== arch/ppc/platforms/pmac_smp.c 1.17 vs edited =====
arch/ppc/platforms/pmac_smp.c +0 -2
@@ -29,8 +29,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/errno.h>
===== arch/ppc64/kernel/misc.S 1.70 vs edited =====
arch/ppc64/kernel/misc.S +0 -10
@@ -540,17 +540,7 @@ li r3,-1; \ blr -#define __NR__exit __NR_exit - -SYSCALL(setsid) -SYSCALL(open) -SYSCALL(read) -SYSCALL(write) -SYSCALL(lseek) -SYSCALL(close) -SYSCALL(dup) SYSCALL(execve) -SYSCALL(waitpid) #ifdef CONFIG_PPC_ISERIES /* hack hack hack */ #define ppc_rtas sys_ni_syscall
===== arch/ppc64/kernel/pmac_smp.c 1.1 vs edited =====
arch/ppc64/kernel/pmac_smp.c +0 -2
@@ -29,8 +29,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/errno.h>
===== arch/sparc/kernel/process.c 1.35 vs edited =====
arch/sparc/kernel/process.c +0 -2
@@ -9,7 +9,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -19,7 +18,6 @@#include <linux/kallsyms.h> #include <linux/mm.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/user.h>
===== arch/sparc/kernel/smp.c 1.12 vs edited =====
arch/sparc/kernel/smp.c +0 -3
@@ -33,9 +33,6 @@#include <asm/cacheflush.h> #include <asm/tlbflush.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_RESCHEDULE 13#define IRQ_STOP_CPU 14#define IRQ_CROSS_CALL 15
===== arch/sparc/kernel/sun4d_smp.c 1.13 vs edited =====
arch/sparc/kernel/sun4d_smp.c +0 -3
@@ -32,9 +32,6 @@#include <asm/sbus.h> #include <asm/sbi.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_CROSS_CALL 15extern ctxd_t *srmmu_ctx_table_phys;
===== arch/sparc/kernel/sun4m_smp.c 1.11 vs edited =====
arch/sparc/kernel/sun4m_smp.c +0 -3
@@ -27,9 +27,6 @@#include <asm/oplib.h> #include <asm/hardirq.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_RESCHEDULE 13#define IRQ_STOP_CPU 14#define IRQ_CROSS_CALL 15
===== arch/sparc64/kernel/process.c 1.48 vs edited =====
arch/sparc64/kernel/process.c +0 -3
@@ -1,4 +1,3 @@ -/* $Id: process.c,v 1.131 2002/02/09 19:49:30 davem Exp $ * arch/sparc64/kernel/process.c * * Copyright (C) 1995, 1996 David S. Miller ([email protected])
@@ -10,7 +9,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -22,7 +20,6 @@#include <linux/smp.h> #include <linux/smp_lock.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/user.h>
===== arch/sparc64/kernel/smp.c 1.66 vs edited =====
arch/sparc64/kernel/smp.c +0 -3
@@ -36,9 +36,6 @@#include <asm/timer.h> #include <asm/starfire.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -extern int linux_num_cpus;extern void calibrate_delay (void );
===== arch/x86_64/kernel/process.c 1.24 vs edited =====
arch/x86_64/kernel/process.c +0 -2
@@ -16,7 +16,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -25,7 +24,6 @@#include <linux/mm.h> #include <linux/elfcore.h> #include <linux/smp.h> -#include <linux/unistd.h> #include <linux/slab.h> #include <linux/user.h> #include <linux/module.h>
===== drivers/macintosh/mediabay.c 1.11 vs edited =====
drivers/macintosh/mediabay.c +0 -3
@@ -10,8 +10,6 @@* as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ -#define __KERNEL_SYSCALLS__ -#include <linux/config.h> #include <linux/types.h> #include <linux/errno.h>
@@ -21,7 +19,6 @@#include <linux/timer.h> #include <linux/hdreg.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/init.h> #include <linux/ide.h> #include <asm/prom.h>
===== drivers/media/dvb/frontends/alps_tdlb7.c 1.8 vs edited =====
drivers/media/dvb/frontends/alps_tdlb7.c +4 -8
@@ -29,8 +29,6 @@*/ - -#define __KERNEL_SYSCALLS__#include <linux/module.h> #include <linux/init.h> #include <linux/vmalloc.h>
@@ -58,8 +56,6 @@#define SP8870_FIRMWARE_OFFSET 0x0A -static int errno; -static struct dvb_frontend_info tdlb7_info = { .name ="Alps TDLB7" , .type =FE_OFDM ,
@@ -174,13 +170,13 @@loff_t filesize;char *dp; - fd =open (fn,0 ,0 ); + fd =sys_open (fn,0 ,0 );if (fd ==-1 ) {printk ("%s: unable to open '%s'.\n" , __FUNCTION__, fn);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 || filesize <SP8870_FIRMWARE_OFFSET +SP8870_FIRMWARE_SIZE ) {printk ("%s: firmware filesize to small '%s'\n" , __FUNCTION__, fn);sys_close (fd);
@@ -194,8 +190,8 @@return -EIO ; } -lseek (fd,SP8870_FIRMWARE_OFFSET ,0 ); -if (read (fd, dp,SP8870_FIRMWARE_SIZE ) !=SP8870_FIRMWARE_SIZE ) { +sys_lseek (fd,SP8870_FIRMWARE_OFFSET ,0 ); +if (sys_read (fd, dp,SP8870_FIRMWARE_SIZE ) !=SP8870_FIRMWARE_SIZE ) {printk ("%s: failed to read '%s'.\n" ,__FUNCTION__, fn);vfree (dp);sys_close (fd);
===== drivers/media/dvb/frontends/sp887x.c 1.6 vs edited =====
drivers/media/dvb/frontends/sp887x.c +4 -7
@@ -12,7 +12,6 @@next 0x4000 loaded. This may change in future versions. */ -#define __KERNEL_SYSCALLS__#include <linux/kernel.h> #include <linux/vmalloc.h> #include <linux/module.h>
@@ -68,8 +67,6 @@ FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_RECOVER }; -static int errno; -static int i2c_writebytes (struct dvb_frontend *fe,u8 addr,u8 *buf,u8 len) {
@@ -216,13 +213,13 @@// Load the firmware set_fs (get_ds ()); - fd =open (sp887x_firmware,0 ,0 ); + fd =sys_open (sp887x_firmware,0 ,0 );if (fd <0 ) {printk (KERN_WARNING "%s: Unable to open firmware %s\n" , __FUNCTION__, sp887x_firmware);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 ) {printk (KERN_WARNING "%s: Firmware %s is empty\n" , __FUNCTION__, sp887x_firmware);
@@ -244,8 +241,8 @@// read it! // read the first 16384 bytes from the file // ignore the first 10 bytes -lseek (fd,10 ,0 ); -if (read (fd, firmware, fw_size) != fw_size) { +sys_lseek (fd,10 ,0 ); +if (sys_read (fd, firmware, fw_size) != fw_size) {printk (KERN_WARNING "%s: Failed to read firmware\n" , __FUNCTION__);vfree (firmware);sys_close (fd);
===== drivers/media/dvb/frontends/tda1004x.c 1.7 vs edited =====
drivers/media/dvb/frontends/tda1004x.c +4 -6
@@ -32,7 +32,6 @@*/ -#define __KERNEL_SYSCALLS__#include <linux/kernel.h> #include <linux/vmalloc.h> #include <linux/module.h>
@@ -41,7 +40,6 @@#include <linux/slab.h> #include <linux/syscalls.h> #include <linux/fs.h> -#include <linux/unistd.h> #include <linux/fcntl.h> #include <linux/errno.h> #include "dvb_frontend.h"
@@ -399,13 +397,13 @@// Load the firmware set_fs (get_ds ()); - fd =open (tda1004x_firmware,0 ,0 ); + fd =sys_open (tda1004x_firmware,0 ,0 );if (fd <0 ) {printk ("%s: Unable to open firmware %s\n" , __FUNCTION__, tda1004x_firmware);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 ) {printk ("%s: Firmware %s is empty\n" , __FUNCTION__, tda1004x_firmware);
@@ -436,8 +434,8 @@ }// read it! -lseek (fd, fw_offset,0 ); -if (read (fd, firmware, fw_size) != fw_size) { +sys_lseek (fd, fw_offset,0 ); +if (sys_read (fd, firmware, fw_size) != fw_size) {printk ("%s: Failed to read firmware\n" , __FUNCTION__);vfree (firmware);sys_close (fd);
===== drivers/scsi/cpqfcTSinit.c 1.43 vs edited =====
drivers/scsi/cpqfcTSinit.c +0 -4
@@ -46,10 +46,6 @@#include <linux/ioport.h> // request_region() prototype #include <linux/completion.h> -#ifdef __alpha__ -#define __KERNEL_SYSCALLS__ -#endif -#include <asm/unistd.h> #include <asm/io.h> #include <asm/uaccess.h> // ioctl related #include <asm/irq.h>
===== drivers/scsi/oktagon_esp.c 1.13 vs edited =====
drivers/scsi/oktagon_esp.c +0 -3
@@ -12,7 +12,6 @@#define USE_BOTTOM_HALF #endif -#define __KERNEL_SYSCALLS__#include <linux/module.h> #include <linux/kernel.h>
@@ -42,8 +41,6 @@#include <linux/workqueue.h> #include <linux/interrupt.h> #endif - -#include <linux/unistd.h> /* The controller registers can be found in the Z2 config area at these * offsets:
===== init/do_mounts.c 1.62 vs edited =====
init/do_mounts.c +12 -12
@@ -66,11 +66,11 @@/* read device number from .../dev */ sprintf (path,"/sys/block/%s/dev" , name); - fd =open (path,0 ,0 ); + fd =sys_open (path,0 ,0 );if (fd <0 ) goto fail; - len =read (fd, buf,32 ); -close (fd); + len =sys_read (fd, buf,32 ); +sys_close (fd);if (len <=0 || len ==32 || buf[len -1 ] !='\n' ) goto fail; buf[len -1 ] ='\0' ;
@@ -96,11 +96,11 @@/* otherwise read range from .../range */ sprintf (path,"/sys/block/%s/range" , name); - fd =open (path,0 ,0 ); + fd =sys_open (path,0 ,0 );if (fd <0 ) goto fail; - len =read (fd, buf,32 ); -close (fd); + len =sys_read (fd, buf,32 ); +sys_close (fd);if (len <=0 || len ==32 || buf[len -1 ] !='\n' ) goto fail; buf[len -1 ] ='\0' ;
@@ -287,7 +287,7 @@continue ; }/* -* Allow the user to distinguish between failed open +* Allow the user to distinguish between failed sys_open * and bad superblock on root device. */ __bdevname (ROOT_DEV , b);
@@ -326,21 +326,21 @@va_start (args, fmt);vsprintf (buf, fmt, args);va_end (args); - fd =open ("/dev/root" ,O_RDWR |O_NDELAY ,0 ); + fd =sys_open ("/dev/root" ,O_RDWR |O_NDELAY ,0 );if (fd >=0 ) {sys_ioctl (fd,FDEJECT ,0 ); -close (fd); +sys_close (fd); }printk (KERN_NOTICE "VFS: Insert %s and press ENTER\n" , buf); - fd =open ("/dev/console" ,O_RDWR ,0 ); + fd =sys_open ("/dev/console" ,O_RDWR ,0 );if (fd >=0 ) {sys_ioctl (fd,TCGETS , (long )&termios); termios.c_lflag &= ~ICANON ;sys_ioctl (fd,TCSETSF , (long )&termios); -read (fd, &c,1 ); +sys_read (fd, &c,1 ); termios.c_lflag |=ICANON ;sys_ioctl (fd,TCSETSF , (long )&termios); -close (fd); +sys_close (fd); } }#endif
===== init/do_mounts.h 1.11 vs edited =====
init/do_mounts.h +0 -1
@@ -1,4 +1,3 @@ -#define __KERNEL_SYSCALLS__#include <linux/config.h> #include <linux/kernel.h> #include <linux/devfs_fs_kernel.h>
===== init/do_mounts_devfs.c 1.5 vs edited =====
init/do_mounts_devfs.c +4 -4
@@ -24,7 +24,7 @@ {long bytes, n;char *p = buf; -lseek (fd,0 ,0 ); +sys_lseek (fd,0 ,0 );for (bytes =0 ; bytes < len; bytes += n) { n = sys_getdents64(fd, (struct linux_dirent64 *)(p + bytes),
@@ -45,7 +45,7 @@static void *__init read_dir (char *path,int *len) {int size; -int fd =open (path,0 ,0 ); +int fd =sys_open (path,0 ,0 ); *len =0 ;if (fd <0 )
@@ -58,7 +58,7 @@break ; n =do_read_dir (fd, p, size);if (n >0 ) { -close (fd); +sys_close (fd); *len = n;return p; }
@@ -68,7 +68,7 @@if (n <0 )break ; } -close (fd); +sys_close (fd);return NULL ; }
===== init/do_mounts_initrd.c 1.6 vs edited =====
init/do_mounts_initrd.c +15 -14
@@ -1,4 +1,5 @@ - +#define __KERNEL_SYSCALLS__ +#include <linux/unistd.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/minix_fs.h>
@@ -28,12 +29,12 @@static char *argv[] = {"linuxrc" ,NULL , };extern char * envp_init[]; -close (old_fd);close (root_fd); -close (0 );close (1 );close (2 ); -setsid (); - (void )open ("/dev/console" ,O_RDWR ,0 ); - (void )dup (0 ); - (void )dup (0 ); +sys_close (old_fd);sys_close (root_fd); +sys_close (0 );sys_close (1 );sys_close (2 ); +sys_setsid (); + (void )sys_open ("/dev/console" ,O_RDWR ,0 ); + (void )sys_dup (0 ); + (void )sys_dup (0 );return execve (shell, argv, envp_init); }
@@ -47,8 +48,8 @@/* mount initrd on rootfs' /root */ mount_block_root ("/dev/root.old" , root_mountflags & ~MS_RDONLY );sys_mkdir ("/old" ,0700 ); - root_fd =open ("/" ,0 ,0 ); - old_fd =open ("/old" ,0 ,0 ); + root_fd =sys_open ("/" ,0 ,0 ); + old_fd =sys_open ("/old" ,0 ,0 );/* move initrd over / and chdir/chroot in initrd root */ sys_chdir ("/root" );sys_mount ("." ,"/" ,NULL ,MS_MOVE ,NULL );
@@ -57,7 +58,7 @@ pid =kernel_thread (do_linuxrc,"/linuxrc" ,SIGCHLD );if (pid >0 ) { -while (pid !=waitpid (-1 , &i,0 )) +while (pid !=sys_wait4 (-1 , &i,0 ,0 ))yield (); }
@@ -67,8 +68,8 @@/* switch root and cwd back to / of rootfs */ sys_fchdir (root_fd);sys_chroot ("." ); -close (old_fd); -close (root_fd); +sys_close (old_fd); +sys_close (root_fd);umount_devfs ("/old/dev" );if (new_decode_dev (real_root_dev) == Root_RAM0) {
@@ -84,7 +85,7 @@if (!error)printk ("okay\n" );else { -int fd =open ("/dev/root.old" ,O_RDWR ,0 ); +int fd =sys_open ("/dev/root.old" ,O_RDWR ,0 );printk ("failed\n" );printk (KERN_NOTICE "Unmounting old root\n" );sys_umount ("/old" ,MNT_DETACH );
@@ -93,7 +94,7 @@ error = fd; }else { error =sys_ioctl (fd,BLKFLSBUF ,0 ); -close (fd); +sys_close (fd); }printk (!error ?"okay\n" :"failed\n" ); }
===== init/do_mounts_md.c 1.4 vs edited =====
init/do_mounts_md.c +5 -5
@@ -154,7 +154,7 @@printk (KERN_INFO "md: Loading md%d: %s\n" , minor, md_setup_args.device_names[minor]); - fd =open (name,0 ,0 ); + fd =sys_open (name,0 ,0 );if (fd <0 ) {printk (KERN_ERR "md: open failed - cannot start array %d\n" , minor);continue ;
@@ -163,7 +163,7 @@printk (KERN_WARNING "md: Ignoring md=%d, already autodetected. (Use raid=noautodetect)\n" , minor); -close (fd); +sys_close (fd);continue ; }
@@ -209,7 +209,7 @@ err =sys_ioctl (fd,RUN_ARRAY ,0 );if (err)printk (KERN_WARNING "md: starting md%d failed\n" , minor); -close (fd); +sys_close (fd); } }
@@ -243,10 +243,10 @@if (raid_noautodetect)printk (KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n" );else { -int fd =open ("/dev/md0" ,0 ,0 ); +int fd =sys_open ("/dev/md0" ,0 ,0 );if (fd >=0 ) {sys_ioctl (fd,RAID_AUTORUN ,0 ); -close (fd); +sys_close (fd); } }md_setup_drive ();
===== init/do_mounts_rd.c 1.9 vs edited =====
init/do_mounts_rd.c +15 -15
@@ -69,8 +69,8 @@/* * Read block 0 to test for gzipped kernel */ -lseek (fd, start_block *BLOCK_SIZE ,0 ); -read (fd, buf, size); +sys_lseek (fd, start_block *BLOCK_SIZE ,0 ); +sys_read (fd, buf, size);/* * If it matches the gzip magic numbers, return -1
@@ -104,8 +104,8 @@/* * Read block 1 to test for minix and ext2 superblock */ -lseek (fd, (start_block+1 ) *BLOCK_SIZE ,0 ); -read (fd, buf, size); +sys_lseek (fd, (start_block+1 ) *BLOCK_SIZE ,0 ); +sys_read (fd, buf, size);/* Try minix */ if (minixsb->s_magic == MINIX_SUPER_MAGIC ||
@@ -131,7 +131,7 @@ start_block); done: -lseek (fd, start_block *BLOCK_SIZE ,0 ); +sys_lseek (fd, start_block *BLOCK_SIZE ,0 );kfree (buf);return nblocks; }
@@ -148,11 +148,11 @@char rotator[4 ] = {'|' ,'/' ,'-' ,'\\' };#endif - out_fd =open ("/dev/ram" ,O_RDWR ,0 ); + out_fd =sys_open ("/dev/ram" ,O_RDWR ,0 );if (out_fd <0 ) goto out; - in_fd =open (from,O_RDONLY ,0 ); + in_fd =sys_open (from,O_RDONLY ,0 );if (in_fd <0 ) goto noclose_input;
@@ -217,20 +217,20 @@if (i && (i % devblocks ==0 )) {printk ("done disk #%d.\n" , disk++); rotate =0 ; -if (close (in_fd)) { +if (sys_close (in_fd)) {printk ("Error closing the disk.\n" ); goto noclose_input; }change_floppy ("disk #%d" , disk); - in_fd =open (from,O_RDONLY ,0 ); + in_fd =sys_open (from,O_RDONLY ,0 );if (in_fd <0 ) {printk ("Error opening disk.\n" ); goto noclose_input; }printk ("Loading disk #%d... " , disk); } -read (in_fd, buf,BLOCK_SIZE ); -write (out_fd, buf,BLOCK_SIZE ); +sys_read (in_fd, buf,BLOCK_SIZE ); +sys_write (out_fd, buf,BLOCK_SIZE );#if !defined(CONFIG_ARCH_S390 ) && !defined(CONFIG_PPC_ISERIES )if (!(i %16 )) {printk ("%c\b" , rotator[rotate &0x3 ]);
@@ -243,9 +243,9 @@ successful_load: res =1 ; done: -close (in_fd); +sys_close (in_fd); noclose_input: -close (out_fd); +sys_close (out_fd); out:kfree (buf);sys_unlink ("/dev/ram" );
@@ -342,7 +342,7 @@ {if (exit_code)return -1 ; - insize =read (crd_infd, inbuf,INBUFSIZ ); + insize =sys_read (crd_infd, inbuf,INBUFSIZ );if (insize ==0 ) {error ("RAMDISK: ran out of compressed data" );return -1 ;
@@ -363,7 +363,7 @@unsigned n, written;uch *in, ch; - written =write (crd_outfd, window, outcnt); + written =sys_write (crd_outfd, window, outcnt);if (written != outcnt && unzip_error ==0 ) {printk (KERN_ERR "RAMDISK: incomplete write (%d != %d) %ld\n" , written, outcnt, bytes_out);
===== init/initramfs.c 1.13 vs edited =====
init/initramfs.c +0 -2
@@ -1,10 +1,8 @@ -#define __KERNEL_SYSCALLS__#include <linux/init.h> #include <linux/fs.h> #include <linux/slab.h> #include <linux/types.h> #include <linux/fcntl.h> -#include <linux/unistd.h> #include <linux/delay.h> #include <linux/string.h> #include <linux/syscalls.h>
===== init/main.c 1.120 vs edited =====
init/main.c +4 -4
@@ -18,7 +18,6 @@#include <linux/devfs_fs_kernel.h> #include <linux/kernel.h> #include <linux/syscalls.h> -#include <linux/unistd.h> #include <linux/string.h> #include <linux/ctype.h> #include <linux/delay.h>
@@ -42,6 +41,7 @@#include <linux/cpu.h> #include <linux/efi.h> +#include <asm/unistd.h> #include <asm/io.h> #include <asm/bugs.h>
@@ -624,11 +624,11 @@unlock_kernel (); system_running =1 ; -if (open ("/dev/console" ,O_RDWR ,0 ) <0 ) +if (sys_open ("/dev/console" ,O_RDWR ,0 ) <0 )printk ("Warning: unable to open an initial console.\n" ); - (void )dup (0 ); - (void )dup (0 ); + (void )sys_dup (0 ); + (void )sys_dup (0 );/* * We try each of these until one succeeds.
===== sound/isa/wavefront/wavefront_synth.c 1.13 vs edited =====
sound/isa/wavefront/wavefront_synth.c +6 -6
@@ -1913,11 +1913,11 @@return (1 ); } -#define __KERNEL_SYSCALLS__#include <linux/fs.h> #include <linux/mm.h> #include <linux/slab.h> #include <linux/unistd.h> +#include <linux/syscalls.h> #include <asm/uaccess.h> static int errno;
@@ -1947,7 +1947,7 @@ fs =get_fs ();set_fs (get_ds ()); -if ((fd =open (path,0 ,0 )) <0 ) { +if ((fd =sys_open (path,0 ,0 )) <0 ) {snd_printk ("Unable to load \"%s\".\n" , path);return 1 ;
@@ -1956,7 +1956,7 @@while (1 ) {int x; -if ((x =read (fd, §ion_length,sizeof (section_length))) != +if ((x =sys_read (fd, §ion_length,sizeof (section_length))) !=sizeof (section_length)) {snd_printk ("firmware read error.\n" ); goto failure;
@@ -1966,7 +1966,7 @@break ; } -if (read (fd, section, section_length) != section_length) { +if (sys_read (fd, section, section_length) != section_length) {snd_printk ("firmware section " "read error.\n" ); goto failure;
@@ -2005,12 +2005,12 @@ } -close (fd); +sys_close (fd);set_fs (fs);return 0 ; failure: -close (fd); +sys_close (fd);set_fs (fs);snd_printk ("firmware download failed!!!\n" );return 1 ;
===== sound/oss/wavfront.c 1.15 vs edited =====
sound/oss/wavfront.c +5 -7
@@ -2489,11 +2489,9 @@ }#include "os.h" -#define __KERNEL_SYSCALLS__#include <linux/fs.h> #include <linux/mm.h> #include <linux/slab.h> -#include <linux/unistd.h> #include <asm/uaccess.h> static int errno;
@@ -2523,7 +2521,7 @@ fs =get_fs ();set_fs (get_ds ()); -if ((fd =open (path,0 ,0 )) <0 ) { +if ((fd =sys_open (path,0 ,0 )) <0 ) { printk (KERN_WARNING LOGNAME "Unable to load \"%s\".\n", path);return 1 ;
@@ -2532,7 +2530,7 @@while (1 ) {int x; -if ((x =read (fd, §ion_length,sizeof (section_length))) != +if ((x =sys_read (fd, §ion_length,sizeof (section_length))) !=sizeof (section_length)) { printk (KERN_ERR LOGNAME "firmware read error.\n"); goto failure;
@@ -2542,7 +2540,7 @@break ; } -if (read (fd, section, section_length) != section_length) { +if (sys_read (fd, section, section_length) != section_length) { printk (KERN_ERR LOGNAME "firmware section " "read error.\n"); goto failure;
@@ -2581,12 +2579,12 @@ } -close (fd); +sys_close (fd);set_fs (fs);return 0 ; failure: -close (fd); +sys_close (fd);set_fs (fs);printk (KERN_ERR "\nWaveFront: firmware download failed!!!\n" );return 1 ;
Quoted 38 lines · Arnd Bergmann
=====
drivers/media/dvb/frontends/alps_tdlb7.c1.8 vs edited =====drivers/media/dvb/frontends/alps_tdlb7.c +2
-6@@ -29,8 +29,6 @@*/ - -#define __KERNEL_SYSCALLS__#include <linux/module.h> #include <linux/init.h> #include <linux/vmalloc.h> @@ -58,8 +56,6 @@#define SP8870_FIRMWARE_OFFSET 0x0A -static int errno; -static struct dvb_frontend_info tdlb7_info = { .name ="Alps TDLB7" , .type =FE_OFDM ,@@ -174,13 +170,13 @@loff_t filesize;char *dp; - fd =open (fn,0 ,0 ); + fd =sys_open (fn,0 ,0 );if (fd ==-1 ) {printk ("%s: unable to open '%s'.\n" , __FUNCTION__, fn);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 || filesize <SP8870_FIRMWARE_OFFSET +SP8870_FIRMWARE_SIZE ) {printk ("%s: firmware filesize to small '%s'\n" , __FUNCTION__, fn);sys_close (fd);
drivers/media/dvb/frontends/alps_tdlb7.c line 197
Quoted 10 lines
drivers/media/dvb/frontends/alps_tdlb7.c +2
-2@@ -194,8 +190,8 @@return -EIO ; } -lseek (fd,SP8870_FIRMWARE_OFFSET ,0 ); -if (read (fd, dp,SP8870_FIRMWARE_SIZE ) !=SP8870_FIRMWARE_SIZE ) { +sys_lseek (fd,SP8870_FIRMWARE_OFFSET ,0 ); +if (sys_read (fd, dp,SP8870_FIRMWARE_SIZE ) !=SP8870_FIRMWARE_SIZE ) {printk ("%s: failed to read '%s'.\n" ,__FUNCTION__, fn);vfree (dp);sys_close (fd);
this is the wrong way to "fix" this; might as well leave this driver as is until it is fixed to use request_firmware()
Quoted 26 lines
=====
drivers/media/dvb/frontends/sp887x.c1.6 vs edited =====drivers/media/dvb/frontends/sp887x.c +1
-4@@ -12,7 +12,6 @@next 0x4000 loaded. This may change in future versions. */ -#define __KERNEL_SYSCALLS__#include <linux/kernel.h> #include <linux/vmalloc.h> #include <linux/module.h> @@ -68,8 +67,6 @@ FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_QAM_64 | FE_CAN_RECOVER }; -static int errno; -static int i2c_writebytes (struct dvb_frontend *fe,u8 addr,u8 *buf,u8 len) {@@ -216,13 +213,13 @@// Load the firmware set_fs (get_ds ()); - fd =open (sp887x_firmware,0 ,0 ); + fd =sys_open (sp887x_firmware,0 ,0 );
drivers/media/dvb/frontends/sp887x.c line 225
Quoted 10 lines
drivers/media/dvb/frontends/sp887x.c +1
-1if (fd <0 ) {printk (KERN_WARNING "%s: Unable to open firmware %s\n" , __FUNCTION__, sp887x_firmware);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 ) {printk (KERN_WARNING "%s: Firmware %s is empty\n" , __FUNCTION__, sp887x_firmware);
same here
drivers/media/dvb/frontends/sp887x.c
Quoted 9 lines
drivers/media/dvb/frontends/sp887x.c +1
-1printk ("%s: Unable to open firmware %s\n" , __FUNCTION__, tda1004x_firmware);return -EIO ; } - filesize =lseek (fd,0L ,2 ); + filesize =sys_lseek (fd,0L ,2 );if (filesize <=0 ) {printk ("%s: Firmware %s is empty\n" , __FUNCTION__, tda1004x_firmware);
same here
Quoted 26 lines
=====
sound/isa/wavefront/wavefront_synth.c1.13 vs edited =====sound/isa/wavefront/wavefront_synth.c +2
-2@@ -1913,11 +1913,11 @@return (1 ); } -#define __KERNEL_SYSCALLS__#include <linux/fs.h> #include <linux/mm.h> #include <linux/slab.h> #include <linux/unistd.h> +#include <linux/syscalls.h> #include <asm/uaccess.h> static int errno;@@ -1947,7 +1947,7 @@ fs =get_fs ();set_fs (get_ds ()); -if ((fd =open (path,0 ,0 )) <0 ) { +if ((fd =sys_open (path,0 ,0 )) <0 ) {snd_printk ("Unable to load \"%s\".\n" , path);return 1 ;
sound/isa/wavefront/wavefront_synth.c line 1962
Quoted 8 lines
sound/isa/wavefront/wavefront_synth.c +1
-1@@ -1956,7 +1956,7 @@while (1 ) {int x; -if ((x =read (fd, §ion_length,sizeof (section_length))) != +if ((x =sys_read (fd, §ion_length,sizeof (section_length))) !=sizeof (section_length)) {snd_printk ("firmware read error.\n" ); goto failure;
same here
Quoted 16 lines
=====
sound/oss/wavfront.c1.15 vs edited =====sound/oss/wavfront.c +0
-2@@ -2489,11 +2489,9 @@ }#include "os.h" -#define __KERNEL_SYSCALLS__#include <linux/fs.h> #include <linux/mm.h> #include <linux/slab.h> -#include <linux/unistd.h> #include <asm/uaccess.h> static int errno;
sound/oss/wavfront.c line 2527
Quoted 8 lines
sound/oss/wavfront.c +1
-1@@ -2523,7 +2521,7 @@ fs =get_fs ();set_fs (get_ds ()); -if ((fd =open (path,0 ,0 )) <0 ) { +if ((fd =sys_open (path,0 ,0 )) <0 ) { printk (KERN_WARNING LOGNAME "Unable to load \"%s\".\n", path);return 1 ;
and here
Quoted 8 lines · Arjan van de Ven
drivers/media/dvb/frontends/alps_tdlb7.c
Quoted 3 lines · Arnd Bergmann
=====
drivers/media/dvb/frontends/alps_tdlb7.c1.8 vs edited =====drivers/media/dvb/frontends/alps_tdlb7.c +0
-0this is the wrong way to "fix" this; might as well leave this driver as is until it is fixed to use
request_firmware()
My idea was to finally eliminate __KERNEL_SYSCALLS__ without breaking the in-tree drivers, so I changed all I could.
This patch leaves the syscalls in device drivers and fixes all necessary uses in init/*.c.
Maybe we can find a better solution for calling execve in do_linuxrc(), run_init_process() and ____call_usermodehelper(). Then a #warning can be added __KERNEL_SYSCALLS__ is defined.
arch/alpha/kernel/alpha_ksyms.c | 3 --- arch/alpha/kernel/smp.c | 3 --- arch/cris/kernel/process.c | 2 -- arch/parisc/kernel/process.c | 3 --- arch/parisc/kernel/smp.c | 1 - arch/ppc/kernel/misc.S | 10 ---------- arch/ppc/kernel/ppc_ksyms.c | 6 ------ arch/ppc/kernel/smp.c | 2 -- arch/ppc/platforms/chrp_smp.c | 2 -- arch/ppc/platforms/pmac_smp.c | 2 -- arch/ppc64/kernel/misc.S | 10 ---------- arch/ppc64/kernel/pmac_smp.c | 2 -- arch/sparc/kernel/process.c | 2 -- arch/sparc/kernel/smp.c | 3 --- arch/sparc/kernel/sun4d_smp.c | 3 --- arch/sparc/kernel/sun4m_smp.c | 3 --- arch/sparc64/kernel/process.c | 3 --- arch/sparc64/kernel/smp.c | 3 --- arch/x86_64/kernel/process.c | 2 -- drivers/macintosh/mediabay.c | 3 --- drivers/scsi/cpqfcTSinit.c | 4 ---- drivers/scsi/oktagon_esp.c | 3 --- init/do_mounts.c | 24 ++++++++++++------------ init/do_mounts.h | 1 - init/do_mounts_devfs.c | 8 ++++---- init/do_mounts_initrd.c | 29 +++++++++++++++-------------- init/do_mounts_md.c | 10 +++++----- init/do_mounts_rd.c | 30 +++++++++++++++--------------- init/initramfs.c | 2 -- init/main.c | 8 +++---
===== arch/alpha/kernel/alpha_ksyms.c 1.35 vs edited =====
arch/alpha/kernel/alpha_ksyms.c +0 -3
@@ -35,9 +35,6 @@#include <asm/cacheflush.h> #include <asm/vga.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> -extern struct hwrpb_struct *hwrpb;extern void dump_thread (struct pt_regs *,struct user *);extern spinlock_t rtc_lock;
===== arch/alpha/kernel/smp.c 1.39 vs edited =====
arch/alpha/kernel/smp.c +0 -3
@@ -39,9 +39,6 @@#include <asm/mmu_context.h> #include <asm/tlbflush.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> -#include "proto.h" #include "irq_impl.h"
===== arch/cris/kernel/process.c 1.14 vs edited =====
arch/cris/kernel/process.c +0 -2
@@ -91,8 +91,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__ -#include <asm/atomic.h> #include <asm/pgtable.h> #include <asm/uaccess.h>
===== arch/parisc/kernel/process.c 1.14 vs edited =====
arch/parisc/kernel/process.c +0 -3
@@ -1,5 +1,3 @@ -/* -* PARISC Architecture-dependent parts of process handling * based on the work for i386 * * Copyright (C) 1999-2003 Matthew Wilcox <willy at parisc-linux.org>
@@ -32,7 +30,6 @@* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/elf.h>
===== arch/parisc/kernel/smp.c 1.9 vs edited =====
arch/parisc/kernel/smp.c +0 -1
@@ -16,7 +16,6 @@** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. */ -#define __KERNEL_SYSCALLS__#undef ENTRY_SYS_CPUS/* syscall support for iCOD-like functionality */ #include <linux/autoconf.h>
===== arch/ppc/kernel/misc.S 1.52 vs edited =====
arch/ppc/kernel/misc.S +0 -10
@@ -1108,17 +1108,7 @@ li r3,-1; \ blr -#define __NR__exit __NR_exit - -SYSCALL(setsid) -SYSCALL(open) -SYSCALL(read) -SYSCALL(write) -SYSCALL(lseek) -SYSCALL(close) -SYSCALL(dup) SYSCALL(execve) -SYSCALL(waitpid) /* Why isn't this a) automatic, b) written in 'C'? */ .data
===== arch/ppc/kernel/ppc_ksyms.c 1.52 vs edited =====
arch/ppc/kernel/ppc_ksyms.c +0 -6
@@ -32,8 +32,6 @@#include <linux/pmu.h> #include <asm/prom.h> #include <asm/system.h> -#define __KERNEL_SYSCALLS__ -#include <asm/unistd.h> #include <asm/pci-bridge.h> #include <asm/irq.h> #include <asm/pmac_feature.h>
@@ -189,10 +187,6 @@EXPORT_SYMBOL (flush_dcache_all);#endif -EXPORT_SYMBOL (open); -EXPORT_SYMBOL (read); -EXPORT_SYMBOL (lseek); -EXPORT_SYMBOL (close);EXPORT_SYMBOL (start_thread);EXPORT_SYMBOL (kernel_thread);
===== arch/ppc/kernel/smp.c 1.41 vs edited =====
arch/ppc/kernel/smp.c +0 -2
@@ -17,8 +17,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/cache.h>
===== arch/ppc/platforms/chrp_smp.c 1.9 vs edited =====
arch/ppc/platforms/chrp_smp.c +0 -2
@@ -16,8 +16,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h>
===== arch/ppc/platforms/pmac_smp.c 1.17 vs edited =====
arch/ppc/platforms/pmac_smp.c +0 -2
@@ -29,8 +29,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/errno.h>
===== arch/ppc64/kernel/misc.S 1.70 vs edited =====
arch/ppc64/kernel/misc.S +0 -10
@@ -540,17 +540,7 @@ li r3,-1; \ blr -#define __NR__exit __NR_exit - -SYSCALL(setsid) -SYSCALL(open) -SYSCALL(read) -SYSCALL(write) -SYSCALL(lseek) -SYSCALL(close) -SYSCALL(dup) SYSCALL(execve) -SYSCALL(waitpid) #ifdef CONFIG_PPC_ISERIES /* hack hack hack */ #define ppc_rtas sys_ni_syscall
===== arch/ppc64/kernel/pmac_smp.c 1.1 vs edited =====
arch/ppc64/kernel/pmac_smp.c +0 -2
@@ -29,8 +29,6 @@#include <linux/interrupt.h> #include <linux/kernel_stat.h> #include <linux/delay.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> #include <linux/init.h> #include <linux/spinlock.h> #include <linux/errno.h>
===== arch/sparc/kernel/process.c 1.35 vs edited =====
arch/sparc/kernel/process.c +0 -2
@@ -9,7 +9,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -19,7 +18,6 @@#include <linux/kallsyms.h> #include <linux/mm.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/user.h>
===== arch/sparc/kernel/smp.c 1.12 vs edited =====
arch/sparc/kernel/smp.c +0 -3
@@ -33,9 +33,6 @@#include <asm/cacheflush.h> #include <asm/tlbflush.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_RESCHEDULE 13#define IRQ_STOP_CPU 14#define IRQ_CROSS_CALL 15
===== arch/sparc/kernel/sun4d_smp.c 1.13 vs edited =====
arch/sparc/kernel/sun4d_smp.c +0 -3
@@ -32,9 +32,6 @@#include <asm/sbus.h> #include <asm/sbi.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_CROSS_CALL 15extern ctxd_t *srmmu_ctx_table_phys;
===== arch/sparc/kernel/sun4m_smp.c 1.11 vs edited =====
arch/sparc/kernel/sun4m_smp.c +0 -3
@@ -27,9 +27,6 @@#include <asm/oplib.h> #include <asm/hardirq.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -#define IRQ_RESCHEDULE 13#define IRQ_STOP_CPU 14#define IRQ_CROSS_CALL 15
===== arch/sparc64/kernel/process.c 1.48 vs edited =====
arch/sparc64/kernel/process.c +0 -3
@@ -1,4 +1,3 @@ -/* $Id: process.c,v 1.131 2002/02/09 19:49:30 davem Exp $ * arch/sparc64/kernel/process.c * * Copyright (C) 1995, 1996 David S. Miller ([email protected])
@@ -10,7 +9,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -22,7 +20,6 @@#include <linux/smp.h> #include <linux/smp_lock.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/user.h>
===== arch/sparc64/kernel/smp.c 1.66 vs edited =====
arch/sparc64/kernel/smp.c +0 -3
@@ -36,9 +36,6 @@#include <asm/timer.h> #include <asm/starfire.h> -#define __KERNEL_SYSCALLS__ -#include <linux/unistd.h> -extern int linux_num_cpus;extern void calibrate_delay (void );
===== arch/x86_64/kernel/process.c 1.24 vs edited =====
arch/x86_64/kernel/process.c +0 -2
@@ -16,7 +16,6 @@* This file handles the architecture-dependent parts of process handling.. */ -#define __KERNEL_SYSCALLS__#include <stdarg.h> #include <linux/errno.h>
@@ -25,7 +24,6 @@#include <linux/mm.h> #include <linux/elfcore.h> #include <linux/smp.h> -#include <linux/unistd.h> #include <linux/slab.h> #include <linux/user.h> #include <linux/module.h>
===== drivers/macintosh/mediabay.c 1.11 vs edited =====
drivers/macintosh/mediabay.c +0 -3
@@ -10,8 +10,6 @@* as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ -#define __KERNEL_SYSCALLS__ -#include <linux/config.h> #include <linux/types.h> #include <linux/errno.h>
@@ -21,7 +19,6 @@#include <linux/timer.h> #include <linux/hdreg.h> #include <linux/stddef.h> -#include <linux/unistd.h> #include <linux/init.h> #include <linux/ide.h> #include <asm/prom.h>
===== drivers/scsi/cpqfcTSinit.c 1.43 vs edited =====
drivers/scsi/cpqfcTSinit.c +0 -4
@@ -46,10 +46,6 @@#include <linux/ioport.h> // request_region() prototype #include <linux/completion.h> -#ifdef __alpha__ -#define __KERNEL_SYSCALLS__ -#endif -#include <asm/unistd.h> #include <asm/io.h> #include <asm/uaccess.h> // ioctl related #include <asm/irq.h>
===== drivers/scsi/oktagon_esp.c 1.13 vs edited =====
drivers/scsi/oktagon_esp.c +0 -3
@@ -12,7 +12,6 @@#define USE_BOTTOM_HALF #endif -#define __KERNEL_SYSCALLS__#include <linux/module.h> #include <linux/kernel.h>
@@ -42,8 +41,6 @@#include <linux/workqueue.h> #include <linux/interrupt.h> #endif - -#include <linux/unistd.h> /* The controller registers can be found in the Z2 config area at these * offsets:
===== init/do_mounts.c 1.62 vs edited =====
init/do_mounts.c +12 -12
@@ -66,11 +66,11 @@/* read device number from .../dev */ sprintf (path,"/sys/block/%s/dev" , name); - fd =open (path,0 ,0 ); + fd =sys_open (path,0 ,0 );if (fd <0 ) goto fail; - len =read (fd, buf,32 ); -close (fd); + len =sys_read (fd, buf,32 ); +sys_close (fd);if (len <=0 || len ==32 || buf[len -1 ] !='\n' ) goto fail; buf[len -1 ] ='\0' ;
@@ -96,11 +96,11 @@/* otherwise read range from .../range */ sprintf (path,"/sys/block/%s/range" , name); - fd =open (path,0 ,0 ); + fd =sys_open (path,0 ,0 );if (fd <0 ) goto fail; - len =read (fd, buf,32 ); -close (fd); + len =sys_read (fd, buf,32 ); +sys_close (fd);if (len <=0 || len ==32 || buf[len -1 ] !='\n' ) goto fail; buf[len -1 ] ='\0' ;
@@ -287,7 +287,7 @@continue ; }/* -* Allow the user to distinguish between failed open +* Allow the user to distinguish between failed sys_open * and bad superblock on root device. */ __bdevname (ROOT_DEV , b);
@@ -326,21 +326,21 @@va_start (args, fmt);vsprintf (buf, fmt, args);va_end (args); - fd =open ("/dev/root" ,O_RDWR |O_NDELAY ,0 ); + fd =sys_open ("/dev/root" ,O_RDWR |O_NDELAY ,0 );if (fd >=0 ) {sys_ioctl (fd,FDEJECT ,0 ); -close (fd); +sys_close (fd); }printk (KERN_NOTICE "VFS: Insert %s and press ENTER\n" , buf); - fd =open ("/dev/console" ,O_RDWR ,0 ); + fd =sys_open ("/dev/console" ,O_RDWR ,0 );if (fd >=0 ) {sys_ioctl (fd,TCGETS , (long )&termios); termios.c_lflag &= ~ICANON ;sys_ioctl (fd,TCSETSF , (long )&termios); -read (fd, &c,1 ); +sys_read (fd, &c,1 ); termios.c_lflag |=ICANON ;sys_ioctl (fd,TCSETSF , (long )&termios); -close (fd); +sys_close (fd); } }#endif
===== init/do_mounts.h 1.11 vs edited =====
init/do_mounts.h +0 -1
@@ -1,4 +1,3 @@ -#define __KERNEL_SYSCALLS__#include <linux/config.h> #include <linux/kernel.h> #include <linux/devfs_fs_kernel.h>
===== init/do_mounts_devfs.c 1.5 vs edited =====
init/do_mounts_devfs.c +4 -4
@@ -24,7 +24,7 @@ {long bytes, n;char *p = buf; -lseek (fd,0 ,0 ); +sys_lseek (fd,0 ,0 );for (bytes =0 ; bytes < len; bytes += n) { n = sys_getdents64(fd, (struct linux_dirent64 *)(p + bytes),
@@ -45,7 +45,7 @@static void *__init read_dir (char *path,int *len) {int size; -int fd =open (path,0 ,0 ); +int fd =sys_open (path,0 ,0 ); *len =0 ;if (fd <0 )
@@ -58,7 +58,7 @@break ; n =do_read_dir (fd, p, size);if (n >0 ) { -close (fd); +sys_close (fd); *len = n;return p; }
@@ -68,7 +68,7 @@if (n <0 )break ; } -close (fd); +sys_close (fd);return NULL ; }
===== init/do_mounts_initrd.c 1.6 vs edited =====
init/do_mounts_initrd.c +15 -14
@@ -1,4 +1,5 @@ - +#define __KERNEL_SYSCALLS__ +#include <linux/unistd.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/minix_fs.h>
@@ -28,12 +29,12 @@static char *argv[] = {"linuxrc" ,NULL , };extern char * envp_init[]; -close (old_fd);close (root_fd); -close (0 );close (1 );close (2 ); -setsid (); - (void )open ("/dev/console" ,O_RDWR ,0 ); - (void )dup (0 ); - (void )dup (0 ); +sys_close (old_fd);sys_close (root_fd); +sys_close (0 );sys_close (1 );sys_close (2 ); +sys_setsid (); + (void )sys_open ("/dev/console" ,O_RDWR ,0 ); + (void )sys_dup (0 ); + (void )sys_dup (0 );return execve (shell, argv, envp_init); }
@@ -47,8 +48,8 @@/* mount initrd on rootfs' /root */ mount_block_root ("/dev/root.old" , root_mountflags & ~MS_RDONLY );sys_mkdir ("/old" ,0700 ); - root_fd =open ("/" ,0 ,0 ); - old_fd =open ("/old" ,0 ,0 ); + root_fd =sys_open ("/" ,0 ,0 ); + old_fd =sys_open ("/old" ,0 ,0 );/* move initrd over / and chdir/chroot in initrd root */ sys_chdir ("/root" );sys_mount ("." ,"/" ,NULL ,MS_MOVE ,NULL );
@@ -57,7 +58,7 @@ pid =kernel_thread (do_linuxrc,"/linuxrc" ,SIGCHLD );if (pid >0 ) { -while (pid !=waitpid (-1 , &i,0 )) +while (pid !=sys_wait4 (-1 , &i,0 ,0 ))yield (); }
@@ -67,8 +68,8 @@/* switch root and cwd back to / of rootfs */ sys_fchdir (root_fd);sys_chroot ("." ); -close (old_fd); -close (root_fd); +sys_close (old_fd); +sys_close (root_fd);umount_devfs ("/old/dev" );if (new_decode_dev (real_root_dev) == Root_RAM0) {
@@ -84,7 +85,7 @@if (!error)printk ("okay\n" );else { -int fd =open ("/dev/root.old" ,O_RDWR ,0 ); +int fd =sys_open ("/dev/root.old" ,O_RDWR ,0 );printk ("failed\n" );printk (KERN_NOTICE "Unmounting old root\n" );sys_umount ("/old" ,MNT_DETACH );
@@ -93,7 +94,7 @@ error = fd; }else { error =sys_ioctl (fd,BLKFLSBUF ,0 ); -close (fd); +sys_close (fd); }printk (!error ?"okay\n" :"failed\n" ); }
===== init/do_mounts_md.c 1.4 vs edited =====
init/do_mounts_md.c +5 -5
@@ -154,7 +154,7 @@printk (KERN_INFO "md: Loading md%d: %s\n" , minor, md_setup_args.device_names[minor]); - fd =open (name,0 ,0 ); + fd =sys_open (name,0 ,0 );if (fd <0 ) {printk (KERN_ERR "md: open failed - cannot start array %d\n" , minor);continue ;
@@ -163,7 +163,7 @@printk (KERN_WARNING "md: Ignoring md=%d, already autodetected. (Use raid=noautodetect)\n" , minor); -close (fd); +sys_close (fd);continue ; }
@@ -209,7 +209,7 @@ err =sys_ioctl (fd,RUN_ARRAY ,0 );if (err)printk (KERN_WARNING "md: starting md%d failed\n" , minor); -close (fd); +sys_close (fd); } }
@@ -243,10 +243,10 @@if (raid_noautodetect)printk (KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n" );else { -int fd =open ("/dev/md0" ,0 ,0 ); +int fd =sys_open ("/dev/md0" ,0 ,0 );if (fd >=0 ) {sys_ioctl (fd,RAID_AUTORUN ,0 ); -close (fd); +sys_close (fd); } }md_setup_drive ();
===== init/do_mounts_rd.c 1.9 vs edited =====
init/do_mounts_rd.c +15 -15
@@ -69,8 +69,8 @@/* * Read block 0 to test for gzipped kernel */ -lseek (fd, start_block *BLOCK_SIZE ,0 ); -read (fd, buf, size); +sys_lseek (fd, start_block *BLOCK_SIZE ,0 ); +sys_read (fd, buf, size);/* * If it matches the gzip magic numbers, return -1
@@ -104,8 +104,8 @@/* * Read block 1 to test for minix and ext2 superblock */ -lseek (fd, (start_block+1 ) *BLOCK_SIZE ,0 ); -read (fd, buf, size); +sys_lseek (fd, (start_block+1 ) *BLOCK_SIZE ,0 ); +sys_read (fd, buf, size);/* Try minix */ if (minixsb->s_magic == MINIX_SUPER_MAGIC ||
@@ -131,7 +131,7 @@ start_block); done: -lseek (fd, start_block *BLOCK_SIZE ,0 ); +sys_lseek (fd, start_block *BLOCK_SIZE ,0 );kfree (buf);return nblocks; }
@@ -148,11 +148,11 @@char rotator[4 ] = {'|' ,'/' ,'-' ,'\\' };#endif - out_fd =open ("/dev/ram" ,O_RDWR ,0 ); + out_fd =sys_open ("/dev/ram" ,O_RDWR ,0 );if (out_fd <0 ) goto out; - in_fd =open (from,O_RDONLY ,0 ); + in_fd =sys_open (from,O_RDONLY ,0 );if (in_fd <0 ) goto noclose_input;
@@ -217,20 +217,20 @@if (i && (i % devblocks ==0 )) {printk ("done disk #%d.\n" , disk++); rotate =0 ; -if (close (in_fd)) { +if (sys_close (in_fd)) {printk ("Error closing the disk.\n" ); goto noclose_input; }change_floppy ("disk #%d" , disk); - in_fd =open (from,O_RDONLY ,0 ); + in_fd =sys_open (from,O_RDONLY ,0 );if (in_fd <0 ) {printk ("Error opening disk.\n" ); goto noclose_input; }printk ("Loading disk #%d... " , disk); } -read (in_fd, buf,BLOCK_SIZE ); -write (out_fd, buf,BLOCK_SIZE ); +sys_read (in_fd, buf,BLOCK_SIZE ); +sys_write (out_fd, buf,BLOCK_SIZE );#if !defined(CONFIG_ARCH_S390 ) && !defined(CONFIG_PPC_ISERIES )if (!(i %16 )) {printk ("%c\b" , rotator[rotate &0x3 ]);
@@ -243,9 +243,9 @@ successful_load: res =1 ; done: -close (in_fd); +sys_close (in_fd); noclose_input: -close (out_fd); +sys_close (out_fd); out:kfree (buf);sys_unlink ("/dev/ram" );
@@ -342,7 +342,7 @@ {if (exit_code)return -1 ; - insize =read (crd_infd, inbuf,INBUFSIZ ); + insize =sys_read (crd_infd, inbuf,INBUFSIZ );if (insize ==0 ) {error ("RAMDISK: ran out of compressed data" );return -1 ;
@@ -363,7 +363,7 @@unsigned n, written;uch *in, ch; - written =write (crd_outfd, window, outcnt); + written =sys_write (crd_outfd, window, outcnt);if (written != outcnt && unzip_error ==0 ) {printk (KERN_ERR "RAMDISK: incomplete write (%d != %d) %ld\n" , written, outcnt, bytes_out);
===== init/initramfs.c 1.13 vs edited =====
init/initramfs.c +0 -2
@@ -1,10 +1,8 @@ -#define __KERNEL_SYSCALLS__#include <linux/init.h> #include <linux/fs.h> #include <linux/slab.h> #include <linux/types.h> #include <linux/fcntl.h> -#include <linux/unistd.h> #include <linux/delay.h> #include <linux/string.h> #include <linux/syscalls.h>
===== init/main.c 1.120 vs edited =====
init/main.c +3 -3
@@ -624,11 +624,11 @@unlock_kernel (); system_running =1 ; -if (open ("/dev/console" ,O_RDWR ,0 ) <0 ) +if (sys_open ("/dev/console" ,O_RDWR ,0 ) <0 )printk ("Warning: unable to open an initial console.\n" ); - (void )dup (0 ); - (void )dup (0 ); + (void )sys_dup (0 ); + (void )sys_dup (0 );/* * We try each of these until one succeeds.
Quoted 10 lines · Arnd Bergmann
Quoted 8 lines · Arjan van de Ven
drivers/media/dvb/frontends/alps_tdlb7.c
Quoted 3 lines · Arnd Bergmann
=====
drivers/media/dvb/frontends/alps_tdlb7.c1.8 vs edited =====drivers/media/dvb/frontends/alps_tdlb7.c +0
-0this is the wrong way to "fix" this; might as well leave this driver as is until it is fixed to use
request_firmware()
Quoted 7 lines
My idea was to finally eliminate
__KERNEL_SYSCALLS__without breaking the in-tree drivers, so I changed all I could.
This patch leaves the syscalls in device drivers and fixes all necessary uses ininit/*.c.
Maybe we can find a better solution for calling execve indo_linuxrc(),run_init_process()and____call_usermodehelper(). Then a #warning can be added__KERNEL_SYSCALLS__is defined.
Michael Hunold already has some patches to change DVB to use the kernel I2C stuff, so we can then convert frontends to use request_firmware() properly. However, this work is not finished yet, and needs more testing.
Johannes