Re: [PATCH] CodingStyle: memory allocation

From: Randy.Dunlap
Date: Mon Oct 03 2005 - 21:21:46 EST


On Mon, 3 Oct 2005 09:58:01 -0700 Linux Kernel Mailing List wrote:

> tree 39f6737bb96998199144382cdb4eb867be180873
> parent f647e08a55d2c88c4e7ab17a0a8e3fcf568fbc65
> author Pekka J Enberg <penberg@xxxxxxxxxxxxxx> Sat, 17 Sep 2005 09:28:11 -0700
> committer Linus Torvalds <torvalds@xxxxxxxxxxx> Sun, 18 Sep 2005 01:50:02 -0700
>
> [PATCH] CodingStyle: memory allocation
>
> This patch adds a new chapter on memory allocation to
> Documentation/CodingStyle.
>
> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxx>


Just curious, was this merged by dictum?
'cause it sure wasn't merged due to any concensus on this point...


> Documentation/CodingStyle | 21 ++++++++++++++++++++-
> 1 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/CodingStyle b/Documentation/CodingStyle
> --- a/Documentation/CodingStyle
> +++ b/Documentation/CodingStyle
> @@ -410,7 +410,26 @@ Kernel messages do not have to be termin
> Printing numbers in parentheses (%d) adds no value and should be avoided.
>
>
> - Chapter 13: References
> + Chapter 13: Allocating memory
> +
> +The kernel provides the following general purpose memory allocators:
> +kmalloc(), kzalloc(), kcalloc(), and vmalloc(). Please refer to the API
> +documentation for further information about them.
> +
> +The preferred form for passing a size of a struct is the following:
> +
> + p = kmalloc(sizeof(*p), ...);
> +
> +The alternative form where struct name is spelled out hurts readability and
> +introduces an opportunity for a bug when the pointer variable type is changed
> +but the corresponding sizeof that is passed to a memory allocator is not.
> +
> +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
> +language.


---
~Randy
You can't do anything without having to do something else first.
-- Belefant's Law
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/