* [PATCH] ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size
@ 2019-01-31 21:42 Gustavo A. R. Silva
0 siblings, 0 replies; only message in thread
From: Gustavo A. R. Silva @ 2019-01-31 21:42 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Kees Cook, Gustavo A. R. Silva
Use kvzalloc() instead of kvmalloc() and memset().
Also, make use of the struct_size() helper instead of
the open-coded version in order to avoid any potential
type mistakes.
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
ipc/sem.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/ipc/sem.c b/ipc/sem.c
index a188d1b064ea..7da4504bcc7c 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -488,18 +488,14 @@ static inline void sem_rmid(struct ipc_namespace *ns, struct sem_array *s)
static struct sem_array *sem_alloc(size_t nsems)
{
struct sem_array *sma;
- size_t size;
if (nsems > (INT_MAX - sizeof(*sma)) / sizeof(sma->sems[0]))
return NULL;
- size = sizeof(*sma) + nsems * sizeof(sma->sems[0]);
- sma = kvmalloc(size, GFP_KERNEL);
+ sma = kvzalloc(struct_size(sma, sems, nsems), GFP_KERNEL);
if (unlikely(!sma))
return NULL;
- memset(sma, 0, size);
-
return sma;
}
--
2.20.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2019-01-31 21:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-31 21:42 [PATCH] ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_size Gustavo A. R. Silva
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.