|
@@ -3170,7 +3170,7 @@ static int __init failslab_debugfs(void)
|
|
|
struct dentry *dir;
|
|
|
int err;
|
|
|
|
|
|
- err = init_fault_attr_dentries(&failslab.attr, "failslab");
|
|
|
+ err = init_fault_attr_dentries(&failslab.attr, "failslab");
|
|
|
if (err)
|
|
|
return err;
|
|
|
dir = failslab.attr.dentries.dir;
|
|
@@ -3208,9 +3208,6 @@ static inline void *____cache_alloc(struct kmem_cache *cachep, gfp_t flags)
|
|
|
|
|
|
check_irq_off();
|
|
|
|
|
|
- if (should_failslab(cachep, flags))
|
|
|
- return NULL;
|
|
|
-
|
|
|
ac = cpu_cache_get(cachep);
|
|
|
if (likely(ac->avail)) {
|
|
|
STATS_INC_ALLOCHIT(cachep);
|
|
@@ -3402,6 +3399,9 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid,
|
|
|
unsigned long save_flags;
|
|
|
void *ptr;
|
|
|
|
|
|
+ if (should_failslab(cachep, flags))
|
|
|
+ return NULL;
|
|
|
+
|
|
|
cache_alloc_debugcheck_before(cachep, flags);
|
|
|
local_irq_save(save_flags);
|
|
|
|
|
@@ -3472,6 +3472,9 @@ __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller)
|
|
|
unsigned long save_flags;
|
|
|
void *objp;
|
|
|
|
|
|
+ if (should_failslab(cachep, flags))
|
|
|
+ return NULL;
|
|
|
+
|
|
|
cache_alloc_debugcheck_before(cachep, flags);
|
|
|
local_irq_save(save_flags);
|
|
|
objp = __do_cache_alloc(cachep, flags);
|