path: root/Documentation
diff options
authorXi Wang <xi.wang@gmail.com>2012-05-31 16:26:04 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-31 17:49:26 -0700
commit15837294d4ce717f69942f7366e99d4d1d3d9923 (patch)
tree41a7047f7f4bf3747fa162aaeec6a1e0a18fd848 /Documentation
parentum/kernel/trap.c: port OOM changes to handle_page_fault() (diff)
CodingStyle: add kmalloc_array() to memory allocators
Add the new kmalloc_array() to the list of general-purpose memory allocators in chapter 14. Signed-off-by: Xi Wang <xi.wang@gmail.com> Acked-by: Jesper Juhl <jj@chaosbits.net> Acked-by: Pekka Enberg <penberg@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
1 files changed, 14 insertions, 2 deletions
diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
index c58b236bbe04..cb9258b8fd35 100644
--- a/Documentation/CodingStyle
+++ b/Documentation/CodingStyle
@@ -671,8 +671,9 @@ ones already enabled by DEBUG.
Chapter 14: Allocating memory
The kernel provides the following general purpose memory allocators:
-kmalloc(), kzalloc(), kcalloc(), vmalloc(), and vzalloc(). Please refer to
-the API documentation for further information about them.
+kmalloc(), kzalloc(), kmalloc_array(), kcalloc(), vmalloc(), and
+vzalloc(). Please refer to the API documentation for further information
+about them.
The preferred form for passing a size of a struct is the following:
@@ -686,6 +687,17 @@ Casting the return value which is a void pointer is redundant. The conversion
from void pointer to any other pointer type is guaranteed by the C programming
+The preferred form for allocating an array is the following:
+ p = kmalloc_array(n, sizeof(...), ...);
+The preferred form for allocating a zeroed array is the following:
+ p = kcalloc(n, sizeof(...), ...);
+Both forms check for overflow on the allocation size n * sizeof(...),
+and return NULL if that occurred.
Chapter 15: The inline disease