diff options
Diffstat (limited to 'mm/util.c')
| -rw-r--r-- | mm/util.c | 20 | 
1 files changed, 20 insertions, 0 deletions
| @@ -129,6 +129,26 @@ void *krealloc(const void *p, size_t new_size, gfp_t flags) | |||
| 129 | } | 129 | } | 
| 130 | EXPORT_SYMBOL(krealloc); | 130 | EXPORT_SYMBOL(krealloc); | 
| 131 | 131 | ||
| 132 | /** | ||
| 133 | * kzfree - like kfree but zero memory | ||
| 134 | * @p: object to free memory of | ||
| 135 | * | ||
| 136 | * The memory of the object @p points to is zeroed before freed. | ||
| 137 | * If @p is %NULL, kzfree() does nothing. | ||
| 138 | */ | ||
| 139 | void kzfree(const void *p) | ||
| 140 | { | ||
| 141 | size_t ks; | ||
| 142 | void *mem = (void *)p; | ||
| 143 | |||
| 144 | if (unlikely(ZERO_OR_NULL_PTR(mem))) | ||
| 145 | return; | ||
| 146 | ks = ksize(mem); | ||
| 147 | memset(mem, 0, ks); | ||
| 148 | kfree(mem); | ||
| 149 | } | ||
| 150 | EXPORT_SYMBOL(kzfree); | ||
| 151 | |||
| 132 | /* | 152 | /* | 
| 133 | * strndup_user - duplicate an existing string from user space | 153 | * strndup_user - duplicate an existing string from user space | 
| 134 | * @s: The string to duplicate | 154 | * @s: The string to duplicate | 
