From: Pekka Enberg <penberg@cs.helsinki.fi>

This patch clarifies NULL handling of kfree() and vfree().  I addition,
wording of calling context restriction for vfree() and vunmap() are changed
from "may not" to "must not."

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 mm/slab.c    |    2 ++
 mm/vmalloc.c |    7 ++++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff -puN mm/slab.c~update-kfree-vfree-and-vunmap-kerneldoc mm/slab.c
--- devel/mm/slab.c~update-kfree-vfree-and-vunmap-kerneldoc	2005-08-30 18:46:13.000000000 -0700
+++ devel-akpm/mm/slab.c	2005-08-30 18:46:13.000000000 -0700
@@ -3007,6 +3007,8 @@ EXPORT_SYMBOL(kzalloc);
  * kfree - free previously allocated memory
  * @objp: pointer returned by kmalloc.
  *
+ * If @objp is NULL, no operation is performed.
+ *
  * Don't free memory not originally allocated by kmalloc()
  * or you will run into trouble.
  */
diff -puN mm/vmalloc.c~update-kfree-vfree-and-vunmap-kerneldoc mm/vmalloc.c
--- devel/mm/vmalloc.c~update-kfree-vfree-and-vunmap-kerneldoc	2005-08-30 18:46:13.000000000 -0700
+++ devel-akpm/mm/vmalloc.c	2005-08-30 18:46:13.000000000 -0700
@@ -332,9 +332,10 @@ void __vunmap(void *addr, int deallocate
  *	@addr:		memory base address
  *
  *	Free the virtually contiguous memory area starting at @addr, as
- *	obtained from vmalloc(), vmalloc_32() or __vmalloc().
+ *	obtained from vmalloc(), vmalloc_32() or __vmalloc(). If @addr is
+ *	NULL, no operation is performed.
  *
- *	May not be called in interrupt context.
+ *	Must not be called in interrupt context.
  */
 void vfree(void *addr)
 {
@@ -352,7 +353,7 @@ EXPORT_SYMBOL(vfree);
  *	Free the virtually contiguous memory area starting at @addr,
  *	which was created from the page array passed to vmap().
  *
- *	May not be called in interrupt context.
+ *	Must not be called in interrupt context.
  */
 void vunmap(void *addr)
 {
_