patch-2.0.21-2.1.0 linux/fs/binfmt_aout.c

Next file: linux/fs/binfmt_elf.c
Previous file: linux/drivers/sound/soundcard.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file lx2.0/v2.0.21/linux/fs/binfmt_aout.c linux/fs/binfmt_aout.c
@@ -60,8 +60,8 @@
 while (file.f_op->write(inode,&file,(char *)(addr),(nr)) != (nr)) goto close_coredump
 
 #define DUMP_SEEK(offset) \
-if (file.f_op->lseek) { \
-	if (file.f_op->lseek(inode,&file,(offset),0) != (offset)) \
+if (file.f_op->llseek) { \
+	if (file.f_op->llseek(inode,&file,(offset),0) != (offset)) \
  		goto close_coredump; \
 } else file.f_pos = (offset)		
 
@@ -204,7 +204,7 @@
  */
 static unsigned long * create_aout_tables(char * p, struct linux_binprm * bprm)
 {
-	unsigned long *argv,*envp;
+	char **argv, **envp;
 	unsigned long * sp;
 	int argc = bprm->argc;
 	int envc = bprm->envc;
@@ -224,12 +224,12 @@
 	put_user(0x3e9, --sp);
 #endif
 	sp -= envc+1;
-	envp = sp;
+	envp = (char **) sp;
 	sp -= argc+1;
-	argv = sp;
+	argv = (char **) sp;
 #if defined(__i386__) || defined(__mc68000__)
-	put_user(envp,--sp);
-	put_user(argv,--sp);
+	put_user((unsigned long) envp,--sp);
+	put_user((unsigned long) argv,--sp);
 #endif
 	put_user(argc,--sp);
 	current->mm->arg_start = (unsigned long) p;
@@ -423,8 +423,8 @@
 		return -EACCES;
 
 	/* Seek into the file */
-	if (file->f_op->lseek) {
-		if ((error = file->f_op->lseek(inode, file, 0, 0)) != 0)
+	if (file->f_op->llseek) {
+		if ((error = file->f_op->llseek(inode, file, 0, 0)) != 0)
 			return -ENOEXEC;
 	} else
 		file->f_pos = 0;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov