Re: [PATCH] LSM: add NULL check for kcalloc()

From: Ken Goldman
Date: Fri Aug 06 2021 - 14:33:32 EST


On 7/14/2021 5:44 PM, Austin Kim wrote:
2021년 7월 15일 (목) 오전 4:12, James Morris <jmorris@xxxxxxxxx>님이 작성:

On Tue, 13 Jul 2021, Austin Kim wrote:

From: Austin Kim <austin.kim@xxxxxxx>

kcalloc() may return NULL when memory allocation fails.
So it is necessary to add NULL check after the call to kcalloc() is made.

Signed-off-by: Austin Kim <austin.kim@xxxxxxx>
---
security/security.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/security/security.c b/security/security.c
index 09533cbb7221..f885c9e9bc35 100644
--- a/security/security.c
+++ b/security/security.c
@@ -321,6 +321,8 @@ static void __init ordered_lsm_init(void)

ordered_lsms = kcalloc(LSM_COUNT + 1, sizeof(*ordered_lsms),
GFP_KERNEL);
+ if (ordered_lsms)
+ return;

Your logic is reversed here.

I feel very sorry for my terrible mistake.
'if (ordered_lsms)' should have been 'if (!ordered_lsms)'.


I know it's a bit more typing, but

if (ordered_lsms == NULL)

compiles down to the same binary and avoids there errors that
try to treat a pointer as a boolean.


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature