Received: by 2002:a05:6a10:eb17:0:0:0:0 with SMTP id hx23csp2905697pxb; Mon, 6 Sep 2021 07:58:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhsexAbsSWw+gHZm8DAtst1PV40X1lmcWCHeYXbHFV8tERA+4Qy8B19p0D1nCxIlkJAXPH X-Received: by 2002:aa7:c408:: with SMTP id j8mr13739825edq.280.1630940297657; Mon, 06 Sep 2021 07:58:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630940297; cv=none; d=google.com; s=arc-20160816; b=UBSLEkKiz8QrX4kJ/9bH25IG+lI65TIbXXpLoUSovmzDLUtITya2kRVxGErvc8dnVR CsmZ69MetZF2uZA5PohDHa+ALLfY+PwqMz5Ain5sNj01AadhO2vKL1AK/7w+AlBphw/X FDWd+rzBn+P1ITalLtRO6TfZM+Qm5GBrroSBC23hlBjjBVEKaGR7iu9wsbhihG5npw83 VOo6xP/J2bJZkXamUkbu8Y6pcLYMk31EpQVkSK7jrL31L2WLmzRFbVdCepCtNnH0HFKW vgwzNkyn9KUrT+gKq480FJ6ZQ1fVDYP/i669KKUyWk+w3a6v8lBqlO8Hm6QoAxqkulDl NQlw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=521Xoo8xgulzxtL6pkHKw+t0xr3xasaNsqmcELPTBY4=; b=FgtG4WJwepAdLu0A+T0UsX13/YPLIaoJwkWjpXV0rZJzpcBFs6bZDP40E/aNvzmdZt 4dYC3udZ/TA87LJkiaHPlqGvoOlneoqWoTb954e2cIUwVhk+KxCEhsogK2IC1hUFJ64B zVSVhwT9veuxt9xiuF6R7cJUHlLjPNupU0IsuoZO/IqdE2kKbV5gAj8NLgeqtrdY2ItR xZAEZlt/PUlw9ciZWSW3OIWJbt9+WcRvFFZdGI1quIPfDZnCOUNxx19A3gRgpPzSZavH mHvy8ZOgmFK/HPz9x7eattYz0radQLRfFaAOKRLEqoVmlCqnTp5ye1A50NRQZ6m/U1rc Mt1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=E1I0o6JR; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f20si7498271ejk.645.2021.09.06.07.57.41; Mon, 06 Sep 2021 07:58:17 -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=@linuxfoundation.org header.s=korg header.b=E1I0o6JR; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243573AbhIFM7r (ORCPT + 99 others); Mon, 6 Sep 2021 08:59:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:36656 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243328AbhIFM7M (ORCPT ); Mon, 6 Sep 2021 08:59:12 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4A97E61027; Mon, 6 Sep 2021 12:58:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1630933087; bh=u9zluEWB18JkYxp3OuvxqEPeLfuUjRgiLvaU6qfkzmI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E1I0o6JReFvNdfVWMs8t1/Sn2jz0hiZAwHcY+fwv8agcBesQvDgfQyfaOK7Ku+vY2 /Go+OFbiTnde976O4hTIJ++M2PcmfiRbwqgEug/DT5c52WBT22I4U7/fsHD+oKq7K0 hmN3tLXPNYyV6cYWjYOK3FUvqdfbAUUgMWvi1/Ew= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pavel Skripkin , Hans Verkuil , Mauro Carvalho Chehab Subject: [PATCH 5.13 24/24] media: stkwebcam: fix memory leak in stk_camera_probe Date: Mon, 6 Sep 2021 14:55:53 +0200 Message-Id: <20210906125449.906320641@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210906125449.112564040@linuxfoundation.org> References: <20210906125449.112564040@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pavel Skripkin commit 514e97674400462cc09c459a1ddfb9bf39017223 upstream. My local syzbot instance hit memory leak in usb_set_configuration(). The problem was in unputted usb interface. In case of errors after usb_get_intf() the reference should be putted to correclty free memory allocated for this interface. Fixes: ec16dae5453e ("V4L/DVB (7019): V4L: add support for Syntek DC1125 webcams") Cc: stable@vger.kernel.org Signed-off-by: Pavel Skripkin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/usb/stkwebcam/stk-webcam.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/drivers/media/usb/stkwebcam/stk-webcam.c +++ b/drivers/media/usb/stkwebcam/stk-webcam.c @@ -1346,7 +1346,7 @@ static int stk_camera_probe(struct usb_i if (!dev->isoc_ep) { pr_err("Could not find isoc-in endpoint\n"); err = -ENODEV; - goto error; + goto error_put; } dev->vsettings.palette = V4L2_PIX_FMT_RGB565; dev->vsettings.mode = MODE_VGA; @@ -1359,10 +1359,12 @@ static int stk_camera_probe(struct usb_i err = stk_register_video_device(dev); if (err) - goto error; + goto error_put; return 0; +error_put: + usb_put_intf(interface); error: v4l2_ctrl_handler_free(hdl); v4l2_device_unregister(&dev->v4l2_dev);