Commit f0f53369 authored by Thorsten Blum's avatar Thorsten Blum Committed by Greg Kroah-Hartman
Browse files

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: default avatarThorsten Blum <thorsten.blum@toblux.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240705075900.424100-2-srinivas.kandagatla@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9d7eb234
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -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);