summaryrefslogtreecommitdiffstats
path: root/include/linux/slab.h
diff options
context:
space:
mode:
authorAdrian Bunk2006-03-22 09:08:09 +0100
committerLinus Torvalds2006-03-22 16:53:58 +0100
commitb50ec7d8070ae7a39fe78e65a8812bbc3ca2f7ac (patch)
tree56a30fe319a1c4356547d13896d6762df76980d7 /include/linux/slab.h
parent[PATCH] hugepage allocator cleanup (diff)
downloadkernel-qcow2-linux-b50ec7d8070ae7a39fe78e65a8812bbc3ca2f7ac.tar.gz
kernel-qcow2-linux-b50ec7d8070ae7a39fe78e65a8812bbc3ca2f7ac.tar.xz
kernel-qcow2-linux-b50ec7d8070ae7a39fe78e65a8812bbc3ca2f7ac.zip
[PATCH] kcalloc(): INT_MAX -> ULONG_MAX
Since size_t has the same size as a long on all architectures, it's enough for overflow checks to check against ULONG_MAX. This change could allow a compiler better optimization (especially in the n=1 case). The practical effect seems to be positive, but quite small: text data bss dec hex filename 21762380 5859870 1848928 29471178 1c1b1ca vmlinux-old 21762211 5859870 1848928 29471009 1c1b121 vmlinux-patched Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/slab.h')
-rw-r--r--include/linux/slab.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 8cf52939d0ab..38bed95dda7a 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -118,7 +118,7 @@ extern void *kzalloc(size_t, gfp_t);
*/
static inline void *kcalloc(size_t n, size_t size, gfp_t flags)
{
- if (n != 0 && size > INT_MAX / n)
+ if (n != 0 && size > ULONG_MAX / n)
return NULL;
return kzalloc(n * size, flags);
}