[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211202073533.104072-1-xiujianfeng@huawei.com>
Date: Thu, 2 Dec 2021 15:35:33 +0800
From: Xiu Jianfeng <xiujianfeng@...wei.com>
To: <paul@...l-moore.com>, <stephen.smalley.work@...il.com>,
<eparis@...isplace.org>
CC: <selinux@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<wangweiyang2@...wei.com>
Subject: [PATCH -next] selinux: Use struct_size() helper in kmalloc()
Make use of struct_size() helper instead of an open-coded calculation.
Link: https://github.com/KSPP/linux/issues/160
Signed-off-by: Xiu Jianfeng <xiujianfeng@...wei.com>
---
security/selinux/ss/sidtab.c | 2 +-
security/selinux/xfrm.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/security/selinux/ss/sidtab.c b/security/selinux/ss/sidtab.c
index 656d50b09f76..293ec048af08 100644
--- a/security/selinux/ss/sidtab.c
+++ b/security/selinux/ss/sidtab.c
@@ -570,7 +570,7 @@ void sidtab_sid2str_put(struct sidtab *s, struct sidtab_entry *entry,
goto out_unlock;
}
- cache = kmalloc(sizeof(struct sidtab_str_cache) + str_len, GFP_ATOMIC);
+ cache = kmalloc(struct_size(cache, str, str_len), GFP_ATOMIC);
if (!cache)
goto out_unlock;
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c
index be83e5ce4469..90697317895f 100644
--- a/security/selinux/xfrm.c
+++ b/security/selinux/xfrm.c
@@ -89,7 +89,7 @@ static int selinux_xfrm_alloc_user(struct xfrm_sec_ctx **ctxp,
if (str_len >= PAGE_SIZE)
return -ENOMEM;
- ctx = kmalloc(sizeof(*ctx) + str_len + 1, gfp);
+ ctx = kmalloc(struct_size(ctx, ctx_str, str_len + 1), gfp);
if (!ctx)
return -ENOMEM;
@@ -360,7 +360,7 @@ int selinux_xfrm_state_alloc_acquire(struct xfrm_state *x,
if (rc)
return rc;
- ctx = kmalloc(sizeof(*ctx) + str_len, GFP_ATOMIC);
+ ctx = kmalloc(struct_size(ctx, ctx_str, str_len), GFP_ATOMIC);
if (!ctx) {
rc = -ENOMEM;
goto out;
--
2.17.1
Powered by blists - more mailing lists