Messages in this thread | | | Date | Wed, 1 Jun 2022 21:34:40 +0800 | Subject | Re: [PATCH 1/4] mm/shmem: check return value of shmem_init_inodecache | From | Kefeng Wang <> |
| |
On 2022/6/1 20:54, Matthew Wilcox wrote: > On Wed, Jun 01, 2022 at 08:44:14PM +0800, Chen Wandun wrote: >> -static void shmem_init_inodecache(void) >> +static struct kmem_cache *shmem_init_inodecache(void) >> { >> shmem_inode_cachep = kmem_cache_create("shmem_inode_cache", >> sizeof(struct shmem_inode_info), >> 0, SLAB_PANIC|SLAB_ACCOUNT, shmem_init_inode); >> + >> + return shmem_inode_cachep; >> } >> >> static void shmem_destroy_inodecache(void) >> @@ -3924,7 +3926,10 @@ void __init shmem_init(void) >> { >> int error; >> >> - shmem_init_inodecache(); >> + if (!shmem_init_inodecache()) { >> + error = -ENOMEM; >> + goto out2; >> + } > better to return the errno from shmem_init_inodecache(): > > error = shmem_init_inodecache();
kmem_cache_create return a pointer to the cache on success, NULL on failure, so error = -ENOMEM; is right :)
> if (error) > goto out2; > > .
| |