diff options
author | David S. Miller <davem@davemloft.net> | 2009-02-24 03:49:55 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-24 03:49:55 -0800 |
commit | 467388f29fc9cebfb70e7a187107b6b5d772cb44 (patch) | |
tree | 4e6fffa65f38addffc149a5fe88be3d2161eaf6e /mm/util.c | |
parent | 028e1415a78733fcd2cba4b4c001826cc37a373e (diff) | |
parent | f7e603ad8f78cd3b59e33fa72707da0cbabdf699 (diff) | |
download | kernel-crypto-467388f29fc9cebfb70e7a187107b6b5d772cb44.tar.gz kernel-crypto-467388f29fc9cebfb70e7a187107b6b5d772cb44.tar.xz kernel-crypto-467388f29fc9cebfb70e7a187107b6b5d772cb44.zip |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'mm/util.c')
-rw-r--r-- | mm/util.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mm/util.c b/mm/util.c index cb00b748ce4..37eaccdf305 100644 --- a/mm/util.c +++ b/mm/util.c @@ -129,6 +129,26 @@ void *krealloc(const void *p, size_t new_size, gfp_t flags) } EXPORT_SYMBOL(krealloc); +/** + * kzfree - like kfree but zero memory + * @p: object to free memory of + * + * The memory of the object @p points to is zeroed before freed. + * If @p is %NULL, kzfree() does nothing. + */ +void kzfree(const void *p) +{ + size_t ks; + void *mem = (void *)p; + + if (unlikely(ZERO_OR_NULL_PTR(mem))) + return; + ks = ksize(mem); + memset(mem, 0, ks); + kfree(mem); +} +EXPORT_SYMBOL(kzfree); + /* * strndup_user - duplicate an existing string from user space * @s: The string to duplicate |