lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 19 Sep 2007 08:24:24 +0100
From:	Anton Altaparmakov <aia21@....ac.uk>
To:	David Rientjes <rientjes@...gle.com>
Cc:	Christoph Lameter <clameter@....com>,
	Christoph Hellwig <hch@....de>, Mel Gorman <mel@...net.ie>,
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
	David Chinner <dgc@....com>, Jens Axboe <jens.axboe@...cle.com>
Subject: Re: [03/17] is_vmalloc_addr(): Check if an address is within the vmalloc boundaries

On 19 Sep 2007, at 07:32, David Rientjes wrote:
> On Tue, 18 Sep 2007, Christoph Lameter wrote:
>> Index: linux-2.6/include/linux/mm.h
>> ===================================================================
>> --- linux-2.6.orig/include/linux/mm.h	2007-09-17  
>> 21:46:06.000000000 -0700
>> +++ linux-2.6/include/linux/mm.h	2007-09-17 23:56:54.000000000 -0700
>> @@ -1158,6 +1158,14 @@ static inline unsigned long vma_pages(st
>>  	return (vma->vm_end - vma->vm_start) >> PAGE_SHIFT;
>>  }
>>
>> +/* Determine if an address is within the vmalloc range */
>> +static inline int is_vmalloc_addr(const void *x)
>> +{
>> +	unsigned long addr = (unsigned long)x;
>> +
>> +	return addr >= VMALLOC_START && addr < VMALLOC_END;
>> +}
>
> This breaks on i386 because VMALLOC_END is defined in terms of  
> PKMAP_BASE
> in the CONFIG_HIGHMEM case.

That is incorrect.  This works perfectly on i386 and on ALL  
architectures supported by Linux.  A lot of places in the kernel  
already do this today (mostly hand coded though, eg XFS and NTFS)...

There even is such a function already in mm/ 
sparse.c::vaddr_in_vmalloc_area() with pretty identical content.  I  
would suggest either this new inline should go away completely and  
use the existing one and export it or the existing one should go away  
and the inline should be used.  It seems silly to have two functions  
with different names doing exactly the same thing!

Best regards,

	Anton
-- 
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ