From: zhaoxinchao <chrisxinchao@xxxxxxxxxxx> Actually __kmem_cache_create() returns a status : 0 is success nonezero are failed. This function has three return positions. In addition to successfully return 0, the first failed position will return - E2BIG, and the second position will return nonzero value for setup_cpu_cache function failure. Signed-off-by: zhaoxinchao <chrisxinchao@xxxxxxxxxxx> --- mm/slab.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/slab.c b/mm/slab.c index edbe722fb..399daa4d0 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -1893,7 +1893,12 @@ static bool set_on_slab_cache(struct kmem_cache *cachep, * @cachep: cache management descriptor * @flags: SLAB flags * - * Returns a ptr to the cache on success, NULL on failure. + * Returns zero on success, nonzero on failure. + * This function has three return positions. + * In addition to successfully return 0, the + * first failed position will return - E2BIG, + * and the second position will return nonzero + * value for setup_cpu_cache function failure. * Cannot be called within an int, but can be interrupted. * The @ctor is run when new pages are allocated by the cache. * -- 2.39.2