Unverified Commit 3742c209 authored by Jinjie Ruan's avatar Jinjie Ruan Committed by Matt Coster
Browse files

drm/imagination: Use memdup_user() helper to simplify code



Switching to memdup_user(), which combines kmalloc() and copy_from_user(),
and it can simplfy code.

Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: default avatarFrank Binns <frank.binns@imgtec.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240831102930.97502-1-ruanjinjie@huawei.com


Signed-off-by: default avatarMatt Coster <matt.coster@imgtec.com>
parent eb4accc5
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -90,20 +90,13 @@ static int pvr_fw_cmd_init(struct pvr_device *pvr_dev, struct pvr_job *job,
	void *stream;
	int err;

	stream = kzalloc(stream_len, GFP_KERNEL);
	if (!stream)
		return -ENOMEM;

	if (copy_from_user(stream, u64_to_user_ptr(stream_userptr), stream_len)) {
		err = -EFAULT;
		goto err_free_stream;
	}
	stream = memdup_user(u64_to_user_ptr(stream_userptr), stream_len);
	if (IS_ERR(stream))
		return PTR_ERR(stream);

	err = pvr_job_process_stream(pvr_dev, stream_def, stream, stream_len, job);

err_free_stream:
	kfree(stream);

	return err;
}