Received: by 2002:a05:6a10:5594:0:0:0:0 with SMTP id ee20csp39225pxb; Mon, 25 Apr 2022 05:24:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyEPDS7DMXz130EKVddotxiHaNxQTrCYHwfYZ0uNmb+2BZBcoMPs7lR9zDFlZFC0q/k0/Tp X-Received: by 2002:a65:6753:0:b0:385:fa8a:188f with SMTP id c19-20020a656753000000b00385fa8a188fmr15183141pgu.499.1650889478253; Mon, 25 Apr 2022 05:24:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650889478; cv=none; d=google.com; s=arc-20160816; b=LT3gFp8AedlsW7aFoL/6JRYcMAamZ5LfFq/qlDsgfsUsOdXTqMAKFO0GZLmOhrg6Pc FFhPSIoyn/yX4CXRsZ3MmVuqkMAn8TekUWzuKT9rLL1FRYi5UqOIietCR7509GuVrBUu QLeQeR0wBxlAeRMh7zmJKgH55RgKAQu2/5wQQTY7DEHpwK6cZpiY1hPwfGKV+NHXGcyc EHsdUQkm0EdDwX4c5AviovKc8AGE4kjt4s1OR0dM02qeDZUvMX0YPf4My2rmtweK91Im PMyAsoHrLgOqzG0fjAeWi7AeqQFjnuq+5f0rN0VK3keE+fiEfw/S9Tkr/mONcT2XPI2I aNmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=H6a9DJnLZoyjSQqOJbXpXtPYv+DY5RZMT8ENRg4/RRI=; b=A5zLgA1jOyu4o166+zvvux2piQ6/DXa0lqMFrN48SnMpQtdTT/VxshpPcDh9GPSB3I ZY2eR75M9PVc+0jg7+lW0ghhpQ1yhOU75a4esKu12jBKsicqvsU3y8A5B1vW01buiPI3 4mgjM0VlFt8crIQb/b1daR6A/N+RlAG+qKGU5jtPTCg/9GLC7hGVKhXHKoELI7+n7Owt 8Q+vFze4iqtExF2Is/VW9nOAFOFbK/GYy+pvXUoigFKyny7NVcRBOkL7d+8tlvs9ZSRD Ks1Quu8uHfjHqXD/UVVepaiMRveWJc/hk/0zd/svc2/Jg5ziH6NzBRrK00JEbyu9nPH+ zaqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=g5zrZirv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id np16-20020a17090b4c5000b001d2827e4df2si20855271pjb.9.2022.04.25.05.24.22; Mon, 25 Apr 2022 05:24:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=g5zrZirv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235232AbiDYIkD (ORCPT + 99 others); Mon, 25 Apr 2022 04:40:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231161AbiDYIkB (ORCPT ); Mon, 25 Apr 2022 04:40:01 -0400 Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CFDC5689BB for ; Mon, 25 Apr 2022 01:36:56 -0700 (PDT) Received: by mail-pl1-x642.google.com with SMTP id c12so25395392plr.6 for ; Mon, 25 Apr 2022 01:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=H6a9DJnLZoyjSQqOJbXpXtPYv+DY5RZMT8ENRg4/RRI=; b=g5zrZirvfr2sxgv+XDrJRRRSZcWaqfvFpzLqxrmEp7xkC39qL/RVOOXr69CMvQCGeV /gIrCbN+uEgn37C7qiUE3SHKxyg+dJk9odyEDO/Lakj7Pveh9RzJuNqUnzg/wQxFDw6E uaY6v7d9oJ+k3czUhRDUAGkU18PJd2xrPWA4gzHMn1zxjBdoiHDtfO3Up8fcpBGQhrlj tD2XyqZW1SiX90hLF/xqG9Rwgc8BZbPTaNGdtMAgkOoBzD+ug/+7AyZhStq7X6BE5Y0C klb7pyBiFLprePXeABQy1IT53YaY+r9Xqr2g1xCWAy3+eT8SHStdUuA6dzu0dcc1WG/L LFLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=H6a9DJnLZoyjSQqOJbXpXtPYv+DY5RZMT8ENRg4/RRI=; b=5fIVsvPB5rypMwrg1QjUTHDvajWGMWk+1J6z74Svwm/5KR7SI8uH+7RruQKZci8zX3 PTu9NhNitL1hNY8sWHuzLkc0LVIeslkWuTJi9LewTbiWKULNeMIevixKjToq+ELhgrne 13jjeTT3ztL9upqFprYlmYsUDqLW4YP2GbaSYytY1QkRpwLsCpflyYo/q/dCUzm9bmVD a9CS0egXBPNMKRwrpeRsWFZQv3DTga4KD2v5C6zwAN15nSk1bzxB2ZYvBrpL5VCw8deL RhV41wFgnT455KbKvfRCxV1GESxs7GCmh4f1+0/S50BM+UxkmIUtaS2i5tsWMw6XR0x5 9IEA== X-Gm-Message-State: AOAM531o80wvWcc5Te7c1R/cMmIuKLpjOBWco80rPTrzFbt2J5+YSSfQ 8X+UElEeG0y4D+NOzb4i+yI= X-Received: by 2002:a17:902:7d83:b0:158:c7e9:1ff3 with SMTP id a3-20020a1709027d8300b00158c7e91ff3mr17117826plm.55.1650875816320; Mon, 25 Apr 2022 01:36:56 -0700 (PDT) Received: from localhost.localdomain ([103.84.139.165]) by smtp.gmail.com with ESMTPSA id b7-20020a056a00114700b004f7be3231d6sm10826176pfm.7.2022.04.25.01.36.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Apr 2022 01:36:55 -0700 (PDT) From: Hangyu Hua To: yuq825@gmail.com, airlied@linux.ie, daniel@ffwll.ch, andrey.grodzovsky@amd.com Cc: dri-devel@lists.freedesktop.org, lima@lists.freedesktop.org, linux-kernel@vger.kernel.org, Hangyu Hua Subject: [PATCH] gpu: drm: remove redundant dma_fence_put() when drm_sched_job_add_dependency() fails Date: Mon, 25 Apr 2022 16:36:45 +0800 Message-Id: <20220425083645.25922-1-hbh25y@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When drm_sched_job_add_dependency() fails, dma_fence_put() will be called internally. Calling it again after drm_sched_job_add_dependency() finishes may result in a dangling pointer. Fix this by removing redundant dma_fence_put(). Signed-off-by: Hangyu Hua --- drivers/gpu/drm/lima/lima_gem.c | 1 - drivers/gpu/drm/scheduler/sched_main.c | 1 - 2 files changed, 2 deletions(-) diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c index 55bb1ec3c4f7..99c8e7f6bb1c 100644 --- a/drivers/gpu/drm/lima/lima_gem.c +++ b/drivers/gpu/drm/lima/lima_gem.c @@ -291,7 +291,6 @@ static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit) err = drm_sched_job_add_dependency(&submit->task->base, fence); if (err) { - dma_fence_put(fence); return err; } } diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c index b81fceb0b8a2..ebab9eca37a8 100644 --- a/drivers/gpu/drm/scheduler/sched_main.c +++ b/drivers/gpu/drm/scheduler/sched_main.c @@ -708,7 +708,6 @@ int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job, dma_fence_get(fence); ret = drm_sched_job_add_dependency(job, fence); if (ret) { - dma_fence_put(fence); return ret; } } -- 2.25.1