mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
misc: fastrpc: Use memdup_user()
Switching to memdup_user() overwrites the allocated memory only once, whereas kzalloc() followed by copy_from_user() initializes the allocated memory to zero and then immediately overwrites it. Fixes the following Coccinelle/coccicheck warning reported by memdup_user.cocci: WARNING opportunity for memdup_user Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20240705075900.424100-2-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9d7eb234ac
commit
f0f53369af
|
|
@ -1259,17 +1259,12 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
|
|||
goto err;
|
||||
}
|
||||
|
||||
name = kzalloc(init.namelen, GFP_KERNEL);
|
||||
if (!name) {
|
||||
err = -ENOMEM;
|
||||
name = memdup_user(u64_to_user_ptr(init.name), init.namelen);
|
||||
if (IS_ERR(name)) {
|
||||
err = PTR_ERR(name);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (copy_from_user(name, (void __user *)(uintptr_t)init.name, init.namelen)) {
|
||||
err = -EFAULT;
|
||||
goto err_name;
|
||||
}
|
||||
|
||||
if (!fl->cctx->remote_heap) {
|
||||
err = fastrpc_remote_heap_alloc(fl, fl->sctx->dev, init.memlen,
|
||||
&fl->cctx->remote_heap);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user