From nobody Fri Dec 26 21:24:04 2025 Received: from mout.web.de (mout.web.de [212.227.17.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76AE211181; Fri, 29 Dec 2023 11:37:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=web.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=web.de header.i=markus.elfring@web.de header.b="dBX6iQY1" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1703849868; x=1704454668; i=markus.elfring@web.de; bh=JBK+I0+RWpVt/64+ENmmEbIiZBHu+wn1RAw0cM1AQC0=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References: In-Reply-To; b=dBX6iQY144i8JIIiPa4nd36mumgVF/Az+KjQopmtaAXxAjpSikitbAh1IRBBTNUp qcH+Su7ppyswZbkykOk50n8z89XEDKs9xUSyzUcojJ1EXJsH+RDCK1GYQjre8Q5xq WGP6wgdsTGR4mc0xvfViCs8bGSS0W9JgnjKAwCg2nPRF3zZ/0YKf/qacLrvG2maYp zm37ZQ5Y/VcbahcLJ7tFvInt0z513xcY4D6nNtEonBoGOjv3UYHNJ3aCpLoB+aDm8 XXi9m4amrIsP7U+KOibqeR1mQWvnnB669wB8hfgvygTpNozTQ9ntlKmjng0iF9pw3 9NmknIHHt9fG0LFT0A== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.21] ([94.31.85.95]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MLAVc-1raIMY3NSs-00IcLc; Fri, 29 Dec 2023 12:37:48 +0100 Message-ID: <8c9488b0-4d91-48ac-bee7-6454e3045a9f@web.de> Date: Fri, 29 Dec 2023 12:37:48 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 1/2] hugetlbfs: Improve a size determination in two functions Content-Language: en-GB From: Markus Elfring To: linux-mm@kvack.org, kernel-janitors@vger.kernel.org, Muchun Song Cc: LKML References: <9ce3f553-24bc-4ecd-ac5e-7ba27caeff57@web.de> In-Reply-To: <9ce3f553-24bc-4ecd-ac5e-7ba27caeff57@web.de> Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:0fmZJp4JlhAFSU+/KR4BIDEALzLIgB7Yzk/1jVkAKXarioNoWp9 LfcZBR4WpgfSElMkwfdr2Hs9mqEJru39lonItmW27YeBWTLgoLQv5uk2VGUbUrkIFQo9f8e kUvNv/9VOy0b6BPOdP3TZnzN9QOwe4PXoA7BShRlU/0L4Knx0fxD/fQ6q9h1fwhS6CM5c+e 6Sa9LHZEp/jeGlXjfkXRQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ZqJ9W1MrSY4=;WtGwAIo7u/RkWqQAQncXsE90bRH BY1hXtTWszVKpfsn9IXuZ1/drNGI8vdPYhksYrqm2FqtsJ21s43NtRoY/74V00TzYhdq801fG r8Mt4+GQb5O5Hv2YuaFqpYMnPmapVCdInlr5BfF3sCsDmkxfyCl9iCPhIzYxu3o5FVt2KgenO ldJIajCiKDsAi4LkEJRu0B8E0PuIY5TvlyzF5hQNjX88mqmkzHKRcBAJvUkZFPi+igx+/5dM9 SqSJZIU1z2wzjALREUOq8z9fz2a4DT7lSYfdbRqkaIHoONCgSKfdwEYI46FaQ5Q+mgUQmbcqr WB/s1HCx2al4jg2QNyFopRCCBqgckfnSPya0D+43x7229CCEaTTYnPL+7aXr6k7pC1qyA5bpU Vvy++aSrfP8zcOBVy1sg7JJvZ3ERZxvx5PkzeeGgjZ4ANhEHzE22tWfyUjtncDKQxr0jy5GC2 mJk/mUjvjH4Wgxx2aikUhUN6Fos30jIjtpDAvE+yA8SH7dWibs6BTs/+EbYZubqZhg+QsCwLJ 7zoE+bbo+uFOJnU9wW7FKE7diHFovRqil1qrB7fB1ZLs3s0jJC13QcjeWoLD1DVXi+KE+qlLr eqvsTdyWqrYujzOpv0cxhrex8JrLQtC1fuFGlcTwXLop5iOWsr395dGHniqH2vuDdiLBaoTDn BDIBOid11/fds3FWqi2krkYRTsXJH5fYxZfpDn36bRhO7aKL29f3b0n5M8agSE4CB/AmHQuAd hCQBLEyB0APFJBEDaCLMXrxLnpV3kl8+WsmoXYinAXXple2GYa9XjYrgFBICXpJo1O0Sm0WEC VNSmEUBHqRYihAKOXZJm3q2x6xWzmomwcJrV3TyzzJEKnaO92U1qPiXfUCa/XbmbM9Eb8pvR2 oj1pN/VoM/nbnQlKUf80n7GIAT2QMxsccxThZULMNgCjJ7/DIMYJC4ppeowW1pbyM0tFaVS97 cmuwnw== Content-Type: text/plain; charset="utf-8" From: Markus Elfring Date: Fri, 29 Dec 2023 11:32:07 +0100 Replace the specification of data structures by pointer dereferences as the parameter for the operator =E2=80=9Csizeof=E2=80=9D to make the corr= esponding size determination a bit safer according to the Linux coding style convention. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring Reviewed-by: Muchun Song --- fs/hugetlbfs/inode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index ea5b8e57d904..24401a5046dd 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -1460,7 +1460,7 @@ hugetlbfs_fill_super(struct super_block *sb, struct f= s_context *fc) struct hugetlbfs_fs_context *ctx =3D fc->fs_private; struct hugetlbfs_sb_info *sbinfo; - sbinfo =3D kmalloc(sizeof(struct hugetlbfs_sb_info), GFP_KERNEL); + sbinfo =3D kmalloc(sizeof(*sbinfo), GFP_KERNEL); if (!sbinfo) return -ENOMEM; sb->s_fs_info =3D sbinfo; @@ -1530,7 +1530,7 @@ static int hugetlbfs_init_fs_context(struct fs_contex= t *fc) { struct hugetlbfs_fs_context *ctx; - ctx =3D kzalloc(sizeof(struct hugetlbfs_fs_context), GFP_KERNEL); + ctx =3D kzalloc(sizeof(*ctx), GFP_KERNEL); if (!ctx) return -ENOMEM; -- 2.43.0 From nobody Fri Dec 26 21:24:04 2025 Received: from mout.web.de (mout.web.de [212.227.17.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D81C10A3E; Fri, 29 Dec 2023 11:40:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=web.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=web.de header.i=markus.elfring@web.de header.b="aJPqrjSi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1703850014; x=1704454814; i=markus.elfring@web.de; bh=UHYDVlvrvWOSRegpd/VlmhDK9J+cjiRSKZxQmGzus70=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References: In-Reply-To; b=aJPqrjSi6IOnqog50GT0ZJnWPo6T9J/P8/98PMs/aZq9AaqbnbRRFoyxlQVfP006 v5MMUwNFH5OLUzpcsflmb0UvK+VxvwsFMHmVdwYpGHzYBvLI8mubGl/QdyQi9FEmd QdktHUWIERl4+M/A8klFCm8rl8NvCjxCVV66yBcIj5F7P1RyHMtSea+/010fGLrNp IIqsp7sG5x0CBBKKJsaQhT6LjbhO3AY583hbHyHRg8ussdU+SWJFl03VURkheIxaw hRNM0L+xTpiNa9s13KjMsfrj4DqMbVyamEWR6Js0+c5/tzwH/PP91pC/z3w41r2Zd TiLThe8+2Zy9dCVxMA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.21] ([94.31.85.95]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MuFD5-1qyVCi3oGz-00uPL1; Fri, 29 Dec 2023 12:40:13 +0100 Message-ID: Date: Fri, 29 Dec 2023 12:40:12 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/2] hugetlbfs: Improve exception handling in hugetlbfs_fill_super() Content-Language: en-GB From: Markus Elfring To: linux-mm@kvack.org, kernel-janitors@vger.kernel.org, Muchun Song Cc: LKML References: <9ce3f553-24bc-4ecd-ac5e-7ba27caeff57@web.de> In-Reply-To: <9ce3f553-24bc-4ecd-ac5e-7ba27caeff57@web.de> Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:QPFYYP3aCa+simUrAouMcW9QcK5xtcbjpkdZdiHYFJ+XmWYAPxj MAk7mAaomOMcC7dd+4bk3MS+xC1kiLqz9IwL3wFjPXgPy+wVyiqZr1CPu6ie84PIjbVEegE aD2E60sZGpEVmu/s0Mm1yTJDgBP0jEAyyFvpfmDrXsbvQjDvH5dII33uoh+IEhUl7LAOb9Y B7aEwLeGFLrhd/rtCVCLQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:R9CIMRG8WIo=;I1ZtYzDfS2V0P2/oJTEFDGzc7mE waxeyt9HIlp9n4gvok5KWoDW1+h9mpIgpqv2Ie0cP4Vw1waLrSMVN6RObZX4jyCn3vFOF6YqP g6XAsPN2GrLIxb59gmwUIO3BLvHWseyR6D4hIVtKMvpLQzNyhnrl7M9hthpRy46Fb3YQoVcxf kgL9qQwbSKK89YEpXQ0aYTmI/a9c39lSznzGb1xVGaqDoC633AIi+BF3Cl+37DwbiIuqb54Cp 6y0XXzW3diz0T+w9GCf+nTGyhL7FagbzcIdIw7toB8UQ4r5TUo0TKnl+QEzyo39WdiythCO/U BZNzTgh8ha4XvlOC3m7W4sMAvjHkhSL5LqENUMZDxzz9L3+PEHVKY5irR4+objIaAj3n3zKIZ 9/aC1SjFl/yQKOWLSPZxsZoBl6KFdU0wPHCbE8+hLHjk+ylv1oaPgGtcOY65Sw8TcDsk5KKFw FUHVwzmu0DMshBq8eB0LZ9ti3nk8C8IVoUkZtV23Gv/VvV85WVeikZy3bjedcEKOHzA9q01AE whGROhfkz1oSCwb2JEkTMYL35qH9YxeUwZWKwAgjf+2aiE8fnyGmuO5JOvtX/96QbpDKPbUJZ IEN0D+XErBg1mOZPprVfcTWqewzsZ5Q/qloNch8itL3Y58JH+KwRrc9pcugxVj9nrG57C+CLW nl0sZ2rl64GoRN5nSZyKgikgyBUkYBSpp9dExGyIgaQIkI0p3m1gr1sAbUqyZLIenau0JSnZj En4Gy9iGOpAIcyVrtxvJmnbDXM93LVsWBoUTjoUWLphEZHshMdckGT9/EoU7T7Pj87PjYfwWs cESdoxfqo+UI+nRTrzkZITwVkDvqLClv4TWLigVwgXZ3Wivr6X3NwLC67NGsIOtXMRfxrheqv sAninmNQwYMjP/GiOE53yfyOusvU3rOUpngN44XCAZNZbgrd0U82a34bT8gNS3LVkY/ENuqi8 AJFvoA== Content-Type: text/plain; charset="utf-8" From: Markus Elfring Date: Fri, 29 Dec 2023 11:46:32 +0100 The kfree() function was called in one case by the hugetlbfs_fill_super() function during error handling even if the passed variable contained a null pointer. This issue was detected by using the Coccinelle software. Thus adjust jump targets. Signed-off-by: Markus Elfring --- fs/hugetlbfs/inode.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 24401a5046dd..5687ec574dc4 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -1483,7 +1483,7 @@ hugetlbfs_fill_super(struct super_block *sb, struct f= s_context *fc) ctx->max_hpages, ctx->min_hpages); if (!sbinfo->spool) - goto out_free; + goto free_sbinfo; } sb->s_maxbytes =3D MAX_LFS_FILESIZE; sb->s_blocksize =3D huge_page_size(ctx->hstate); @@ -1499,10 +1499,12 @@ hugetlbfs_fill_super(struct super_block *sb, struct= fs_context *fc) sb->s_stack_depth =3D FILESYSTEM_MAX_STACK_DEPTH; sb->s_root =3D d_make_root(hugetlbfs_get_root(sb, ctx)); if (!sb->s_root) - goto out_free; + goto free_spool; return 0; -out_free: + +free_spool: kfree(sbinfo->spool); +free_sbinfo: kfree(sbinfo); return -ENOMEM; } -- 2.43.0