mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: fix per cpu kmem_cache_cpu array memory leak kmalloc: return NULL instead of link failure
This commit is contained in:
commit
859281ff37
@ -43,10 +43,7 @@ static inline void *kmalloc(size_t size, gfp_t flags)
|
||||
i++;
|
||||
#include <linux/kmalloc_sizes.h>
|
||||
#undef CACHE
|
||||
{
|
||||
extern void __you_cannot_kmalloc_that_much(void);
|
||||
__you_cannot_kmalloc_that_much();
|
||||
}
|
||||
return NULL;
|
||||
found:
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
if (flags & GFP_DMA)
|
||||
@ -77,10 +74,7 @@ static inline void *kmalloc_node(size_t size, gfp_t flags, int node)
|
||||
i++;
|
||||
#include <linux/kmalloc_sizes.h>
|
||||
#undef CACHE
|
||||
{
|
||||
extern void __you_cannot_kmalloc_that_much(void);
|
||||
__you_cannot_kmalloc_that_much();
|
||||
}
|
||||
return NULL;
|
||||
found:
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
if (flags & GFP_DMA)
|
||||
|
@ -1996,7 +1996,7 @@ static struct kmem_cache_cpu *alloc_kmem_cache_cpu(struct kmem_cache *s,
|
||||
static void free_kmem_cache_cpu(struct kmem_cache_cpu *c, int cpu)
|
||||
{
|
||||
if (c < per_cpu(kmem_cache_cpu, cpu) ||
|
||||
c > per_cpu(kmem_cache_cpu, cpu) + NR_KMEM_CACHE_CPU) {
|
||||
c >= per_cpu(kmem_cache_cpu, cpu) + NR_KMEM_CACHE_CPU) {
|
||||
kfree(c);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user