[Top] [All Lists]

Re: The 64-bit version of __access_ok is broken.

To: Ralf Baechle <>
Subject: Re: The 64-bit version of __access_ok is broken.
From: Dominic Sweetman <>
Date: Mon, 9 Dec 2002 11:54:20 +0000
Cc: Carsten Langgaard <>, Dominic Sweetman <>,,,
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
> > > The __access_ok macro in include/asm-mips64/uaccess.h and the
> > > check_axs macro in arch/mips64/kernel/unaligned.c ... is a copy
> > > from the 32-bit kernel...
> > >
> > > The area between USEG (XUSEG) and KSEG0 will in 64-bit
> > > addressing mode generate an address error, if accessed.

I'd like to be clear about the consequences of this.  Presumably the
'access_ok()' macro is used to check addresses which were (originally)
provided by a user program's system call.

Carsten, are you saying that if such an address is set to say 2**41 in
a CPU supporting 40-bit user virtual addresses, that the kernel will

If so, that seems to require a fix, even if we don't know a very
efficient one.  But perhaps any problem is a bit more subtle than

Dominic Sweetman
MIPS Technologies
The Fruit Farm, Ely Road, Chittering, CAMBS CB5 9PH, ENGLAND
phone +44 1223 706205/fax +44 1223 706250/swbrd +44 1223 706200

<Prev in Thread] Current Thread [Next in Thread>