All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Wandun <chenwandun@huawei.com>
To: <hughd@google.com>, <akpm@linux-foundation.org>,
	<linux-mm@kvack.org>, <linux-kernel@vger.kernel.org>
Cc: <chenwandun@huawei.com>
Subject: [PATCH 1/4] mm/shmem: check return value of shmem_init_inodecache
Date: Wed, 1 Jun 2022 20:44:14 +0800	[thread overview]
Message-ID: <20220601124417.2872001-2-chenwandun@huawei.com> (raw)
In-Reply-To: <20220601124417.2872001-1-chenwandun@huawei.com>

It will result in null pointer access if shmem_init_inodecache fail,
so check return value of shmem_init_inodecache

Signed-off-by: Chen Wandun <chenwandun@huawei.com>
---
 mm/shmem.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/mm/shmem.c b/mm/shmem.c
index d55dd972023a..80c361c3d82c 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3776,11 +3776,13 @@ static void shmem_init_inode(void *foo)
 	inode_init_once(&info->vfs_inode);
 }
 
-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;
+	}
 
 	error = register_filesystem(&shmem_fs_type);
 	if (error) {
-- 
2.25.1


  reply	other threads:[~2022-06-01 12:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-01 12:44 [PATCH 0/4] a few cleanup and bugfixes about shmem Chen Wandun
2022-06-01 12:44 ` Chen Wandun [this message]
2022-06-01 12:54   ` [PATCH 1/4] mm/shmem: check return value of shmem_init_inodecache Matthew Wilcox
2022-06-01 13:34     ` Kefeng Wang
2022-06-01 12:44 ` [PATCH 2/4] mm/shmem: return -EINVAL for addr not PAGE_SIZE aligned Chen Wandun
2022-06-01 13:37   ` David Hildenbrand
2022-06-01 14:14     ` David Hildenbrand
2022-06-05  2:05       ` Chen Wandun
2022-06-01 12:44 ` [PATCH 3/4] mm/shmem: return error code directly Chen Wandun
2022-06-01 12:44 ` [PATCH 4/4] mm/shmem: rework calculation of inflated_addr in shmem_get_unmapped_area Chen Wandun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220601124417.2872001-2-chenwandun@huawei.com \
    --to=chenwandun@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.