Re: mm/memory.c & ptrace.c

Joachim Schmitz (jojo@unixpc.dus.Tandem.COM)
Fri, 23 May 1997 14:49:33 +0200 (MET DST)


Hi Emmanuel

> Each time i try to compile 2.1.38, and 2.1.39, i got this error:
>
> ----------------------------------
> make[1]: Entering directory `/usr/src/linux-2.1/arch/i386/kernel'
> gcc -D__KERNEL__ -I/usr/src/linux-2.1/include -Wall -Wstrict-prototypes -O2
> -fomit-frame-pointer -D__SMP__ -pipe -fno-strength-reduce -m486 -malign-loops=2
> -malign-jumps=2 -malign-functions=2 -DCPU=586 -D__SMP__ -c -o ptrace.o ptrace.c
> ptrace.c: In function `get_long':
> ptrace.c:86: warning: passing arg 1 of `handle_mm_fault' from incompatible
> pointer type
> ptrace.c:86: warning: passing arg 2 of `handle_mm_fault' makes integer from
> pointer without a cast
> ptrace.c:86: too many arguments to function `handle_mm_fault'
> --------------------------------
>
> I check in the code, and found in mm/memory.c the function:
>
> void handle_mm_fault(struct vm_area_struct * vma, unsigned long address,
> int write_access)
>
> which takes 3 arguemnts.
That's wrong. It has been changed in 2.1.38.
Something must have gone wrong on your machine while patching.

> But, in arch/i386/kernel/ptrace.c, i see a call to
> this function:
>
> handle_mm_fault(tsk, vma, addr, 0);
>
> Witch gives 4 argument. If i delete the "tsk" argument in all the calls, it
> works. I'm probably stupid, but i can't understand why some peoples can
> complete de compilation whithout any modification in the kernel source code>.

-- 
Bye,	Jojo

email: work SCHMITZ_JOACHIM@Tandem.COM home Joachim_Schmitz@D.maus.de