From nobody Mon Feb 9 13:37:25 2026 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 30AE916A940 for ; Sat, 31 Aug 2024 10:18:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.188 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725099520; cv=none; b=bNx/LkxAKSZfcrkvPQ0sWsbYhPkGnxXkpdDZfQP7gxMRWogAxfIKth2/oHozAyIlhaWuoz+yh6K9e71lAnjtEv5Kij4od8838s1cEvYQIo1+QlJGr/+LbkxHoDKirt7VDmDIl1y674CbdFR84Ns+Ktfh6NgbAN8lnBYhRHBv8cg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725099520; c=relaxed/simple; bh=Wcad/4peTr6b64efKaD2Vkw530/oNoOJodeP2k2dJXs=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=Fk0zB6sXGrNbCkJMiCFNCmXWx+ptJFB07L+oahw0X8WNZjFiFUAxN+QmqaAjl1rWoG3BTssDPHT7UwltRe11yYrQSyh2Xc+ezwyiqMx2TTVoSzYTgje6/Fj9E/XNnelLkust3lE0PHLEhfGfemGSVLl+RnHVvnoNJ4CyM7favzs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.188 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.162.254]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4WwrXb4pMSzpVBS; Sat, 31 Aug 2024 18:16:47 +0800 (CST) Received: from kwepemh500013.china.huawei.com (unknown [7.202.181.146]) by mail.maildlp.com (Postfix) with ESMTPS id 341D91800FE; Sat, 31 Aug 2024 18:18:34 +0800 (CST) Received: from huawei.com (10.90.53.73) by kwepemh500013.china.huawei.com (7.202.181.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Sat, 31 Aug 2024 18:18:33 +0800 From: Jinjie Ruan To: , , , , , , , , , , , , Subject: [PATCH -next] drm/i915: Use memdup_user() helper Date: Sat, 31 Aug 2024 18:26:48 +0800 Message-ID: <20240831102648.92714-1-ruanjinjie@huawei.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemh500013.china.huawei.com (7.202.181.146) Content-Type: text/plain; charset="utf-8" Switching to memdup_user(), which combines kmalloc() and copy_from_user(), and it can simplfy code. Signed-off-by: Jinjie Ruan --- drivers/gpu/drm/i915/gem/i915_gem_context.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/= i915/gem/i915_gem_context.c index c0543c35cd6a..c1cc41e90502 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c @@ -2159,18 +2159,12 @@ static int set_context_image(struct i915_gem_contex= t *ctx, goto out_ce; } =20 - state =3D kmalloc(ce->engine->context_size, GFP_KERNEL); - if (!state) { - ret =3D -ENOMEM; + state =3D memdup_user(u64_to_user_ptr(user.image), ce->engine->context_si= ze); + if (IS_ERR(state)) { + ret =3D PTR_ERR(state); goto out_ce; } =20 - if (copy_from_user(state, u64_to_user_ptr(user.image), - ce->engine->context_size)) { - ret =3D -EFAULT; - goto out_state; - } - shmem_state =3D shmem_create_from_data(ce->engine->name, state, ce->engine->context_size); if (IS_ERR(shmem_state)) { --=20 2.34.1