diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-02-05 01:28:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 12:44:14 -0500 |
commit | 9e2779fa281cfda13ac060753d674bbcaa23367e (patch) | |
tree | e2af17d69b71e0f8b3f00fe949cb8abfba4298ed /drivers/net | |
parent | 0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc (diff) |
is_vmalloc_addr(): Check if an address is within the vmalloc boundaries
Checking if an address is a vmalloc address is done in a couple of places.
Define a common version in mm.h and replace the other checks.
Again the include structures suck. The definition of VMALLOC_START and
VMALLOC_END is not available in vmalloc.h since highmem.c cannot be included
there.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_offload.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c index d48c396bdabb..901c824bfe6d 100644 --- a/drivers/net/cxgb3/cxgb3_offload.c +++ b/drivers/net/cxgb3/cxgb3_offload.c | |||
@@ -1070,9 +1070,7 @@ void *cxgb_alloc_mem(unsigned long size) | |||
1070 | */ | 1070 | */ |
1071 | void cxgb_free_mem(void *addr) | 1071 | void cxgb_free_mem(void *addr) |
1072 | { | 1072 | { |
1073 | unsigned long p = (unsigned long)addr; | 1073 | if (is_vmalloc_addr(addr)) |
1074 | |||
1075 | if (p >= VMALLOC_START && p < VMALLOC_END) | ||
1076 | vfree(addr); | 1074 | vfree(addr); |
1077 | else | 1075 | else |
1078 | kfree(addr); | 1076 | kfree(addr); |