Received: by 2002:a17:90a:1609:0:0:0:0 with SMTP id n9csp849643pja; Wed, 1 Apr 2020 09:48:53 -0700 (PDT) X-Google-Smtp-Source: APiQypI1a30UfOPRqJEhAgkO49B5tTQjhzbemOc0WLktvNLX08i7/mmqsBPQw+kt1DRN0FPQd2Ic X-Received: by 2002:aca:4c1:: with SMTP id 184mr3547549oie.76.1585759733141; Wed, 01 Apr 2020 09:48:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585759733; cv=none; d=google.com; s=arc-20160816; b=RtW1coHLLW8VPtZnAl8kSq2fgaDI3/yrigIRnosvJJY8wReKa8IiZ9I/Y5Gbcfaq/o eYZFXCufB3QgF/Gs2Zob2pLOChjWMIM5JyvymEda3/ReFPoSnySBxxW7VlueCNXhDXIC P7Y34Zcc9GBf6zvkonty5o4ylpbL+tPIbBuICWJK+1uLxfJAkcGzWb7tbs9XLHkw15FY PuBb4dJDxyYgaXFpyAP+Lw1Qidg+URwGaGJIgtV7NSqJLOe7MUx0i2TsDbpOjxXOIi0e vIzxn2+3Fx/igPAF+CZediaBy6iBg7DuIJn9ZOvWtnq/bpPrw5Yk6sjQwjbuLJuKX3ca dxag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=593w83/5Z7z8fcsP1AtCV8rPQsSiX/XcRt8i1UqASBs=; b=LLPY8Z9Zg9vQn6bmqqT9ukvtS2G6UqssRL/7o65YflPN8D+Zc4t1x0E4O6FCM1vatT N3TVwgmrrAGPElDjsvcRgeqITzeFUqydJqnW5g6OdzSHPJ4joyHDYwGzfH8Pm1pKO5jR zpqOM7SbY0bpGA8YIM2U8o32JLjoYsSs4T3bRKbyQocRlVSV1sFKx3uoBVUPEUWuA6FP 9527iuO7I50vvYfOJ75KUHdA8fFpikZab8yhBmAltEzt1LaUzQOLIkebrabMxAjfFcQD xsT1v68nj6tuh7q71nzZ2tL/SoMZdp3rtFxrDrLe/iFIEvqEwcujqn2AQ3+H6ESJmSzc by4w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dGFHzXsn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u3si1005300otq.177.2020.04.01.09.48.40; Wed, 01 Apr 2020 09:48:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dGFHzXsn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390072AbgDAQri (ORCPT + 99 others); Wed, 1 Apr 2020 12:47:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:49396 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389853AbgDAQrf (ORCPT ); Wed, 1 Apr 2020 12:47:35 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 76227206E9; Wed, 1 Apr 2020 16:47:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585759653; bh=GPWmsOrgU4YEfpnUv+XkcoW2ldc03EaRyXFe1u2ekNQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dGFHzXsn/zng8ELntQRGJwHoDZSgNOZXbqb/msED9xf4AMhEffCIpUPQcsKni7EnB 9EgToCCJcfdoWU3myTfNWspMTrNMaZAi5KyR23LjLHfx4trJnDMG3GTgeCMv7P9BY1 Hc4qKUVCrLW6Ts1Qe9e+icRZxxmXs91HQprutXAw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold , Lubomir Rintel , Hans Verkuil , Mauro Carvalho Chehab Subject: [PATCH 4.14 121/148] media: usbtv: fix control-message timeouts Date: Wed, 1 Apr 2020 18:18:33 +0200 Message-Id: <20200401161604.070200253@linuxfoundation.org> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200401161552.245876366@linuxfoundation.org> References: <20200401161552.245876366@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Johan Hovold commit 536f561d871c5781bc33d26d415685211b94032e upstream. The driver was issuing synchronous uninterruptible control requests without using a timeout. This could lead to the driver hanging on various user requests due to a malfunctioning (or malicious) device until the device is physically disconnected. The USB upper limit of five seconds per request should be more than enough. Fixes: f3d27f34fdd7 ("[media] usbtv: Add driver for Fushicai USBTV007 video frame grabber") Fixes: c53a846c48f2 ("[media] usbtv: add video controls") Cc: stable # 3.11 Signed-off-by: Johan Hovold Acked-by: Lubomir Rintel Reviewed-by: Greg Kroah-Hartman Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/usb/usbtv/usbtv-core.c | 2 +- drivers/media/usb/usbtv/usbtv-video.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) --- a/drivers/media/usb/usbtv/usbtv-core.c +++ b/drivers/media/usb/usbtv/usbtv-core.c @@ -56,7 +56,7 @@ int usbtv_set_regs(struct usbtv *usbtv, ret = usb_control_msg(usbtv->udev, pipe, USBTV_REQUEST_REG, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, - value, index, NULL, 0, 0); + value, index, NULL, 0, USB_CTRL_GET_TIMEOUT); if (ret < 0) return ret; } --- a/drivers/media/usb/usbtv/usbtv-video.c +++ b/drivers/media/usb/usbtv/usbtv-video.c @@ -720,7 +720,8 @@ static int usbtv_s_ctrl(struct v4l2_ctrl ret = usb_control_msg(usbtv->udev, usb_rcvctrlpipe(usbtv->udev, 0), USBTV_CONTROL_REG, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, - 0, USBTV_BASE + 0x0244, (void *)data, 3, 0); + 0, USBTV_BASE + 0x0244, (void *)data, 3, + USB_CTRL_GET_TIMEOUT); if (ret < 0) goto error; } @@ -771,7 +772,7 @@ static int usbtv_s_ctrl(struct v4l2_ctrl ret = usb_control_msg(usbtv->udev, usb_sndctrlpipe(usbtv->udev, 0), USBTV_CONTROL_REG, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE, - 0, index, (void *)data, size, 0); + 0, index, (void *)data, size, USB_CTRL_SET_TIMEOUT); error: if (ret < 0)