This was brought up on the linux-kernel mailing list recently, I believe
molnar ingo made this change, the latter representation is indeed correct.

(apply the patch)

On Tue, 2 Feb 1999, Stephen Costaras wrote:

> 
> I tried patching the 2.2.1 kernel w/ the latest patch on ftp.us.kernel.org
> (19990128-2.2.0).  Everything worked ok except for the patch against:
> 
> mm/mmap.c
> 
> Seems that this patch is trying to do the following:
> 
> 
> ***************
> *** 556,562 ****
>   unsigned long start, unsigned long end)
>   {
>   unsigned long first = start & PGDIR_MASK;
> - unsigned long last = (end & PGDIR_MASK) + PGDIR_SIZE;
>   
>   if (!prev) {
>   prev = mm->mmap;
> --- 556,562 ----
>   unsigned long start, unsigned long end)
>   {
>   unsigned long first = start & PGDIR_MASK;
> + unsigned long last = ((end-1) & PGDIR_MASK) + PGDIR_SIZE;
>   
>   if (!prev) {
>   prev = mm->mmap;
> 
> BUT that line is actually:
> 
>     unsigned long last = (end + PGDIR_SIZE -1) & PGDIR_MASK;
> 
> ...
> 
> 
> I'm not at all familiar with this level of the kernel so does anyone
> know if this is ok to leave?  
> 
> Steve
> 

Reply via email to