diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-07-16 02:42:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:52 -0400 |
commit | c80e7a826c10cf5bce8487fbaede48bd0bd48d08 (patch) | |
tree | 90a8f4dd0c936eacab217a183a9ff311ad259a32 /mm/mempool.c | |
parent | 5e70030d4cf91613530a23b40ad9919bb9ee114f (diff) |
permit mempool_free(NULL)
Christian Borntraeger points out that mempool_free() doesn't noop when
handed NULL. This is inconsistent with the other free-like functions
in the kernel.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/mempool.c')
-rw-r--r-- | mm/mempool.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/mempool.c b/mm/mempool.c index cc1ca86dfc24..3e8f1fed0e1f 100644 --- a/mm/mempool.c +++ b/mm/mempool.c | |||
@@ -263,6 +263,9 @@ void mempool_free(void *element, mempool_t *pool) | |||
263 | { | 263 | { |
264 | unsigned long flags; | 264 | unsigned long flags; |
265 | 265 | ||
266 | if (unlikely(element == NULL)) | ||
267 | return; | ||
268 | |||
266 | smp_mb(); | 269 | smp_mb(); |
267 | if (pool->curr_nr < pool->min_nr) { | 270 | if (pool->curr_nr < pool->min_nr) { |
268 | spin_lock_irqsave(&pool->lock, flags); | 271 | spin_lock_irqsave(&pool->lock, flags); |