Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp6555479rdb; Fri, 15 Dec 2023 01:44:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IGzOL4oUFaz1SDlryr8tnXYZSQ+ryYWyzq08mLOo+CEWrKGELh1OYYu3Ub0jvIQeHtD801R X-Received: by 2002:a2e:ba09:0:b0:2cc:5132:bb17 with SMTP id p9-20020a2eba09000000b002cc5132bb17mr134235lja.96.1702633453934; Fri, 15 Dec 2023 01:44:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702633453; cv=none; d=google.com; s=arc-20160816; b=zF/7V2j2bcjmHEfY6gz4mYjVatqKnycaf7cdW928xRQ+zutsC/MkEgVA+h7mJo6XHS TAQqaAKZykQW9NOB6bOoUHrm71pCQFojRHCT+35GTyz0rZvCuRxV+kQ5k4Y1VWLlepXR 73qT2ENM9q2icowtyo+Yd1v98YBsO2SEXeeGkahVENxeVoehlfH6YEavGycOACpkLUv/ ReHm/YbBSSu2cy40NdMY40HC55UnCjyWcUlzOwuSr0lBrYGmFnNmIciBSVpy9D+b+0sj ZnQZy5/a4vKIDNvIJ5AztqeVsUyu0PTi2G+2AUeqp1N1JXCYI9xJEEY0967lXUm6x4wm fi0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature:dkim-filter; bh=ccZp27R6c7ZeC11LFGMLzR031473jv38nkI+1DlG12s=; fh=pcgp8BacvWWdxWchgnDtBR/6NLgW8HNgRhr00xOclAU=; b=tAKhr37EZ3MVyPdzGNhXBcpbNQ6tY/1AyuHMuxnaRH4DP8vzNVUw/1B5I0x8vOGPOy aZHeJCtkQRuxtvEt9cPA3T98y1Hy4rhL88B/eYOmxyqEBGDuqH3q5dxT6p2NZBeRr+aB QqYUBKJk/VqyIAi9VXJmkV0+9D72gLHasQRtu6TL9uiGd2qoOsWtKKn0vtBKRn6aXSBw TpQCcSAVo1VN4d5UsU06NicOMzXv5TrQP832HnQOEvkpyDObRSB6iEi9Q2QnbmDVL/BN 3+L3g/Gnnn4HNu1Sqr0DkUAhsW02YFNFKOQ4vA8W9UoUwt0lvT+y5u4NHkZ5Evo3wArx 5HQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ispras.ru header.s=default header.b=JfA8lXMP; spf=pass (google.com: domain of linux-kernel+bounces-697-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-697-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id k13-20020a17090627cd00b00a1caf49cf1dsi6914882ejc.1025.2023.12.15.01.44.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 01:44:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-697-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@ispras.ru header.s=default header.b=JfA8lXMP; spf=pass (google.com: domain of linux-kernel+bounces-697-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-697-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id AA7591F2339B for ; Fri, 15 Dec 2023 09:44:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B80551862D; Fri, 15 Dec 2023 09:44:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ispras.ru header.i=@ispras.ru header.b="JfA8lXMP" X-Original-To: linux-kernel@vger.kernel.org Received: from mail.ispras.ru (mail.ispras.ru [83.149.199.84]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D3C7618029; Fri, 15 Dec 2023 09:44:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ispras.ru Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ispras.ru Received: from localhost.localdomain (unknown [46.242.8.170]) by mail.ispras.ru (Postfix) with ESMTPSA id 6598540F1DC5; Fri, 15 Dec 2023 09:34:11 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.ispras.ru 6598540F1DC5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ispras.ru; s=default; t=1702632851; bh=ccZp27R6c7ZeC11LFGMLzR031473jv38nkI+1DlG12s=; h=From:To:Cc:Subject:Date:From; b=JfA8lXMPcs09R7jTJgYkxAHZzWmAGdt7d5I+s5lhruo3caq4xyvs64vuUx0iCks+8 9oG9jWmNemVAgjdODNZjkiSCklUag4h9oKtkvK9G+kE/UPQBBT9q6TICKEhcplpKdJ VW7vFwzrpmYyBVD25+EeUcU0Xg6SJ57aHsXDc95M= From: Fedor Pchelkin To: Thierry Reding Cc: Fedor Pchelkin , Mikko Perttunen , David Airlie , Daniel Vetter , Jonathan Hunter , Arto Merilainen , Terje Bergstrom , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Alexey Khoroshilov , lvc-project@linuxtesting.org Subject: [PATCH] drm/tegra: put drm_gem_object ref on error in tegra_fb_create Date: Fri, 15 Dec 2023 12:33:55 +0300 Message-ID: <20231215093356.12067-1-pchelkin@ispras.ru> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Inside tegra_fb_create(), drm_gem_object_lookup() increments ref count of the found object. But if the following size check fails then the last found object's ref count should be put there as the unreferencing loop can't detect this situation. Found by Linux Verification Center (linuxtesting.org). Fixes: de2ba664c30f ("gpu: host1x: drm: Add memory manager and fb") Signed-off-by: Fedor Pchelkin --- drivers/gpu/drm/tegra/fb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index a719af1dc9a5..46170753699d 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c @@ -159,6 +159,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device *drm, if (gem->size < size) { err = -EINVAL; + drm_gem_object_put(gem); goto unreference; } -- 2.43.0