Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp714668ybt; Sat, 13 Jun 2020 19:59:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfMvawwGtvY/46LOKJnBtOXwtEDoLijctD8BZtJ9ND8BkBkjz682samQQH0u+i0zD6VXmp X-Received: by 2002:a17:906:7208:: with SMTP id m8mr20596195ejk.544.1592103556820; Sat, 13 Jun 2020 19:59:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592103556; cv=none; d=google.com; s=arc-20160816; b=SkscT6M39mpOlQM5oCdLeRHPpotI3TZN+/107M6SIoyyJlL7nrtH1e1J3/hi9151Cz cyJMOGDkY8gPGUPplf6Eu3giNE0RQdpphu/xXkqI6E/vKkzDyPQK1P5VxJqAAMUZnBaQ QoX8XpOKCh6HCdD/BH4wyUNtFfescr5Wc+0soE4iTRgK8e/nZDHA2uy6F+R4750F7cey v6Cs97jzR4jkuV1fIeQ/f07ZBrFMcbY34FnCtbEi5VPlxDRvSv/tJmoXk6fmZf2XLZa1 KPeoAlpNG2NvGs+8bbi1dGWvigvUTa92udnLHbxsBu70Q3o9V8vFj/M6aItp/9o+LAWz KVkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter:dmarc-filter; bh=sfUbtD+8UmbRScetzBNuWx8h71Z2ueqfA2qMCF+mkCI=; b=MUsb6eCos7TiKGHAtUNklJDclg9XU6/ZXGKHK4t81EDp6n5bjvYPTAs5pdE//sr7rN ka1dFC7SOQnOwHRcHKhjD6jAWiw+qW2VhjAa2XpN1sJRjWP8hhDZArbqBBhEXuei4uwr Vo7KMUwRUDYt6NlQ8puwMnoWhjx//GWN2RmmUzJASyW2UnvbDIvLAGnmlOW36xIbn/zg kTkW3LymUewHFzip+lAxkL1LcV4JjQobX2GohGevlyzbm6vxyjQzJMV/6A7sF8z+7JXZ PNKkyg9DY/bMRMke/DZACenZm8cxiG4rfO0D6z+OEIkvCIHrhw+3TZf79cxPpukRIBDw xQIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=fneoPuxj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f22si6460091edt.167.2020.06.13.19.58.41; Sat, 13 Jun 2020 19:59:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=fneoPuxj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726542AbgFNC4P (ORCPT + 99 others); Sat, 13 Jun 2020 22:56:15 -0400 Received: from mta-p5.oit.umn.edu ([134.84.196.205]:58122 "EHLO mta-p5.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726486AbgFNC4O (ORCPT ); Sat, 13 Jun 2020 22:56:14 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p5.oit.umn.edu (Postfix) with ESMTP id 49kzcX6HxZz9vCCQ for ; Sun, 14 Jun 2020 02:56:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p5.oit.umn.edu ([127.0.0.1]) by localhost (mta-p5.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xc68N0bDF6tJ for ; Sat, 13 Jun 2020 21:56:12 -0500 (CDT) Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p5.oit.umn.edu (Postfix) with ESMTPS id 49kzcX4W8Tz9vC9W for ; Sat, 13 Jun 2020 21:56:12 -0500 (CDT) DMARC-Filter: OpenDMARC Filter v1.3.2 mta-p5.oit.umn.edu 49kzcX4W8Tz9vC9W DKIM-Filter: OpenDKIM Filter v2.11.0 mta-p5.oit.umn.edu 49kzcX4W8Tz9vC9W Received: by mail-io1-f71.google.com with SMTP id m11so8950280ioj.14 for ; Sat, 13 Jun 2020 19:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=sfUbtD+8UmbRScetzBNuWx8h71Z2ueqfA2qMCF+mkCI=; b=fneoPuxjbgjZ20tPjhKit5n/XkQZsnTeVuP6LXEZhSCquYV74bLpfB86eYpxiqKl1H +bGm2eixLjW8kIj/1StBc/qKKa0B08abqZIUobkVEHl3vw0MYz/pxs7Nz8eICXmHDUUL WzTlZnL5OQ+YEJ+CqZ6JgAkc8Mhux56zzUVAsLzLWE6INlUyXlFaRYOXUXjYsjxFRRKn cXlbK+lcdMRTHOih7Qellu48K1ZaeOJbRWBeMXjKM10ChGYcJQ2jsCRfw0p2ztkfz6lj yhrZ4XH2jabr2SK7PdRjAz1FpKkh47t00lln3p1UYGeETuRiMr8MSwhx+IPsuIaZh6q5 vv6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=sfUbtD+8UmbRScetzBNuWx8h71Z2ueqfA2qMCF+mkCI=; b=QOtUzoH+0DFSt7jByV6etNqHwJkFdWvypwgaD4Gaxwr3jico0d40siTHtpBiSHE0th QwtB11xfH1/tAvy817KF15HO8IE/1+0M7DBq7cthvztY9W6kzVl83FSkR3PD3aQT4YBG YxtyGtp1JvQAc7WKbNL+4tIocbeR/eLDeVvWvmmR+ikDaPgT42E+uIGzotdhaVzjWs/k JcB4ZoNdXA971TQpaow/GzZuD5xK8Sqt1Fdduilh4fqDOEPBAZ9KYLB/TQRJKLYEikgE Xgz+RxZ+76O/xkEu7cUrmkkLYKy2su9V93sMmF5BHbMKJ5rXdkLN9XwA8Nh+rJfYx01i j4fQ== X-Gm-Message-State: AOAM530g9iwRox7p4cd+A47IRBgbQurD+599j3PbmhoDW3CXc0Hcy3K/ ubskuZ40LdSgoM89lY1ZKnH3IF4pxqDjCV8XAd/O3TTokVPN1/XzTrl+mIGBsqF6iNdY5vh4S5i PQtfUVURhe92a+VDOwbKGUgVkQDml X-Received: by 2002:a92:d5c3:: with SMTP id d3mr20318750ilq.51.1592103372127; Sat, 13 Jun 2020 19:56:12 -0700 (PDT) X-Received: by 2002:a92:d5c3:: with SMTP id d3mr20318737ilq.51.1592103371890; Sat, 13 Jun 2020 19:56:11 -0700 (PDT) Received: from qiushi.cs.umn.edu ([2607:ea00:101:3c74:4874:45:bcb4:df60]) by smtp.gmail.com with ESMTPSA id l16sm5565374ilm.58.2020.06.13.19.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jun 2020 19:56:10 -0700 (PDT) From: wu000273@umn.edu To: kjlu@umn.edu Cc: wu000273@umn.edu, Benoit Parrot , Mauro Carvalho Chehab , Archit Taneja , Kamil Debski , Hans Verkuil , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] media: ti-vpe: Fix a missing check and reference count leak Date: Sat, 13 Jun 2020 21:56:05 -0500 Message-Id: <20200614025605.27728-1-wu000273@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Qiushi Wu pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code, causing incorrect ref count if pm_runtime_put_noidle() is not called in error handling paths. And also, when the call of function vpe_runtime_get() failed, we won't call vpe_runtime_put(). Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails inside vpe_runtime_get(). Fixes: 4571912743ac ("[media] v4l: ti-vpe: Add VPE mem to mem driver") Signed-off-by: Qiushi Wu --- drivers/media/platform/ti-vpe/vpe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c index cff2fcd6d812..82d3ee45e2e9 100644 --- a/drivers/media/platform/ti-vpe/vpe.c +++ b/drivers/media/platform/ti-vpe/vpe.c @@ -2475,6 +2475,8 @@ static int vpe_runtime_get(struct platform_device *pdev) r = pm_runtime_get_sync(&pdev->dev); WARN_ON(r < 0); + if (r) + pm_runtime_put_noidle(&pdev->dev); return r < 0 ? r : 0; } -- 2.17.1