[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¡¡Kernel 2.2.4!!... [Solución]



On mié, mar 24, 1999 at 02:19:45 +0100, Javier Viñuales Gutiérrez wrote:
> ...patch brutal de 650Kb que deja entrever la de cambios que tiene 2.2.4
> respecto a 2.2.3, ¡a por el!.
> 
> Un sólo pero, he parcheado mi 2.2.3, lo he compilado y me da este mensaje
> de error:
> 
> [root@akela]# make bzImage
> gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
> -fomit-frame-pointer -pipe 
> -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2
> -malign-functions=2 -DCPU=686 
> -DUTS_MACHINE='"i386"' -c -o init/version.o init/version.c
> make -C  kernel
> make[1]: Entering directory /usr/src/linux/kernel'
> make all_targets
> make[2]: Entering directory /usr/src/linux/kernel'
> gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
> -fomit-frame-pointer -pipe 
> -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2
> -malign-functions=2 -DCPU=686   -c -o 
> acct.o acct.c
> acct.c: In function sys_acct':
> acct.c:197: too few arguments to function filp_close'
> acct.c:203: too few arguments to function filp_close'
> make[2]: *** [acct.o] Error 1
> make[2]: Leaving directory /usr/src/linux/kernel'
> make[1]: *** [first_rule] Error 2
> make[1]: Leaving directory /usr/src/linux/kernel'
> make: *** [_dir_kernel] Error 2
> 
> ¿Alguien sabe de qué va el rollo?

Yo mismo jeje. 

Parece que la rutina filp_close usada en kernel/acct.c ha de tener un 
segundo argumento "NULL". acct.c implementa el estilo BSD para la tabla de
procesos y filp_close cierra una entrada de registro de proceso (esto está 
definido en inlcude/linux/fs.h, línea 700) mediante

extern int filp_close(struct file *, fl_owner_t id);


Ahí va un parche para esto:

--- linux/kernel/acct.c.~1~     Tue Mar 23 16:14:01 1999
+++ linux/kernel/acct.c Tue Mar 23 16:34:55 1999
@@ -194,13 +194,13 @@
        }
	if (old_acct) {
		do_acct_process(0,old_acct);
-               filp_close(old_acct);
+               filp_close(old_acct, NULL);
	}
 out:
	unlock_kernel();
	return error;
 out_err:
-       filp_close(file);
+       filp_close(file, NULL);
        goto out;
 }


Saludos.	  	  
-- 

Javier Viñuales Gutiérrez 
vigu@ctv.es


Reply to: