From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BAA643AAF76 for ; Mon, 17 Aug 2026 14:01:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786975284; cv=none; b=FyqHhFGpFpV8VVqcvzgGDy6u8lSZboAZq29XnaJvCzWKsUg93tOJWueWsWklEC/eAt9xDS6Ur1LCv/ptvLcngJCoZEiQQ/X341mmDlb8wmfqHS5+GiammNQ0bZ6KE5fy5SoQe+8dDT6USLzZALzquoADwIJ+oLdRayYQ2LnK6Dw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786975284; c=relaxed/simple; bh=LQA1J12e5rH/fozzH7lGhEUoWdEmEUNnUBjDvn/MSlk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WVUz2LfqwHHBwB7oy3gVuSNoZ7cSCytLrWGuuY8looFwQCQIOsmWsfIDQ4bDAnxWDvXkpqtP5I+wI/xQ1mfOaHyyp6HM50sU6s7jIFVGiYqmlfLo8PwlnZx1jAayCOf8YqSfeWy+tMDF5UVxxpYJPmCauybyFrXhwdier9XwueM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=G4Aw0Z+N; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="G4Aw0Z+N" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2cedda2ce6fso22067665ad.1 for ; Mon, 17 Aug 2026 07:01:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786975282; x=1787580082; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=4j17PyBNuLGfxl9FFlRnI48Qb6gT7KYiy30T6gTiVKA=; b=G4Aw0Z+N1/3f+hJAzZItWPrJltmoU08g8vPGvgJyhDyXp9qeyZLUF65phBFsnASumt hDZ5ghM/KegH6HYjhpxQ5bKQUQK3EYCHEIPbd7Be/DSvECRrW6ixziB1hoTFhgNEYCQA fqfMOwBmgUCHMkI5vJPJozhZEpcCCHbUsf0ig7bri1ynnS80LZW7lmWqGgWfNVKBQeEd dRM6vpLJIUb5l62DOmN3KqNQJc6ItNHCejpg5ye89JFYV/B6ktmGMucgwStihOOCyKsx nKjDamD6H23fnR0Tly1iimvDDjyP6Krq+eypZObNABFFqnKn5hHqnUfNSTPDV1WElv/O o1uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786975282; x=1787580082; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=4j17PyBNuLGfxl9FFlRnI48Qb6gT7KYiy30T6gTiVKA=; b=r8iuEcK/PJG4zfTf40Bel/4M9hhaDjFfzpqWaVR/hAHpkjS+O/j2DVn95iMngctAm+ BpsCJWCL/t6+Tt1J22ZNJwtaaU6rRkTRIE69Hr72whg+cb7Z4ydatHK60t2nqFMRM6Ah HS8Sba2K7FSwmgXR9ch/DPZHG9ZR0Gx2WJEmHS4KcHuPfyhFSMDKd1KspuEAog0XvIVQ DkEb+YtgRkBD8tLJMqBH38I/Qy0o0+w68HOKigiLBxHzsya2yTIPOW81njcMEQKELASN demskN4bjw5lOhUfpxAAMTceMrtLoh8jMA5eQQE77rCiUDIiIMU1z8ZG2J8TSeXt9pEt i9zg== X-Forwarded-Encrypted: i=1; AHgh+RrHShBOHoVvPdPfXziryjAvodXvk0QFaddteYrqXVyzWE49odBSQZO8Bu7jstuHdu7FQEj0UxlUOGijZOk=@vger.kernel.org X-Gm-Message-State: AOJu0YyAzQ/g02KBhbNUpt+1IfxTxtYaLrzPVBwPdmgC1BWaIgmvujoA 3oYk8xPIkBg+cG6gb0cjLxaJrw53/8DOWx7LFOT1DuJSYojr754LR2A= X-Gm-Gg: AR+sD12jRAlk5x9wvUbk4axPabDdWNM7x+eqKv8TBZsJC1Wpad5AdqWW/uA0WSTJipP /afEzz+03Rck0jHjBQqikfW5FSgEaSKP6NK6qS79fWkouv9EwNZGMcotJ5KNU4/9kbduYd4Hb6Q 2iL02li2rQs0WTh9mYmZmZjcCePDU+ZYNj2aH3g1Fi0kNmllSqUhW6yKkff16xB9GXRcktYMBFm 3uHMKzw8BIxunHhXHs+DYellD2MYiZdMP7OGtNVNmY+kn8YhA4PASUyrkiS1SUqsEMsmEiHtAxQ 33HTrcV5vmo61tzpBcVWrvKTkAi6h5kYO+lJKjfpj0yB39l7E6SKbPAhfsAPT0R8GOBK+R6LQWy J7Zq7K1n7tcQXbyW2y6lDYuXFRDRLfjWtsVnBCTBa0Ffb5tOZVp1caj+PiqBt/oxv2IphuA6Jq9 PxANriKW8R5VoHs2Nh7dDTo2LgOJ6hjMppNLEJh9xxhfFrhEztf2EQRhaEyVshFdj7xS4upDp6X GDF/OtVgLeSylcWGTiWoTwDaIPbC827cmy8gObQ5yLXNRZhE6ERbNcuwl/By6r0Dbw5qhyHjw== X-Received: by 2002:a17:903:3244:b0:2c9:e9db:8167 with SMTP id d9443c01a7336-2d5c4f3964amr6340695ad.7.1786975281367; Mon, 17 Aug 2026 07:01:21 -0700 (PDT) Received: from codespaces-2db70c.m2fxbej512jepnsor2itp05j3d.ix.internal.cloudapp.net ([207.46.224.82]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d5bb4dfe6dsm6364195ad.18.2026.08.17.07.01.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 07:01:21 -0700 (PDT) From: Triet Hoang X-Google-Original-From: Triet Hoang <89897892+HMTCT@users.noreply.github.com> To: tomeu@tomeuvizoso.net Cc: ogabbay@kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, royalnet026@gmail.com, Markus.Elfring@web.de, Triet Hoang Subject: [PATCH v4 1/2] drm/rocket: Check allocations before use Date: Mon, 17 Aug 2026 14:01:09 +0000 Message-ID: <20260817140110.148873-1-89897892+HMTCT@users.noreply.github.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260817093009.22359-1-royalnet026@gmail.com> References: <20260817093009.22359-1-royalnet026@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Triet Hoang Check the result of kvmalloc_array() in rocket_job_push() and kmalloc_objs() in rocket_job_open() before using the allocated buffers. Fixes: 0810d5ad88a1 ("accel/rocket: Add job submission IOCTL") Signed-off-by: Triet Hoang --- Changes in v2: - Free scheds when drm_sched_entity_init() fails. - Initialize ret to 0. Changes in v3: - Move patch version descriptions below the '---' marker. Changes in v4: - Remove unnecessary initialization of ret to 0. - Adjust commit message word wrapping. - Add Fixes tag. drivers/accel/rocket/rocket_job.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/accel/rocket/rocket_job.c b/drivers/accel/rocket/rocket_job.c index ac51bff39833..adcc792541ec 100644 --- a/drivers/accel/rocket/rocket_job.c +++ b/drivers/accel/rocket/rocket_job.c @@ -192,6 +192,9 @@ static int rocket_job_push(struct rocket_job *job) bos = kvmalloc_array(job->in_bo_count + job->out_bo_count, sizeof(void *), GFP_KERNEL); + if (!bos) + return -ENOMEM; + memcpy(bos, job->in_bos, job->in_bo_count * sizeof(void *)); memcpy(&bos[job->in_bo_count], job->out_bos, job->out_bo_count * sizeof(void *)); @@ -501,6 +504,9 @@ int rocket_job_open(struct rocket_file_priv *rocket_priv) unsigned int core; int ret; + if (!scheds) + return -ENOMEM; + for (core = 0; core < rdev->num_cores; core++) scheds[core] = &rdev->cores[core].sched; @@ -509,9 +515,9 @@ int rocket_job_open(struct rocket_file_priv *rocket_priv) scheds, rdev->num_cores, NULL); if (WARN_ON(ret)) - return ret; + kfree(scheds); - return 0; + return ret; } void rocket_job_close(struct rocket_file_priv *rocket_priv) -- 2.53.0