Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp443149ybl; Tue, 28 Jan 2020 06:05:46 -0800 (PST) X-Google-Smtp-Source: APXvYqw53YxbPHgh1gW2NkT/7xMkzwh3sq429/eFeyftQ2gSbEpYiWk6TNG08H3EHo35FKpYuz3k X-Received: by 2002:a05:6830:10d5:: with SMTP id z21mr17259951oto.30.1580220345914; Tue, 28 Jan 2020 06:05:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580220345; cv=none; d=google.com; s=arc-20160816; b=w8Ca8uuXc2nYYHbOrmihkFovskWx+LkwWeMq+0l0S00Zf93cm4ofFqBiNe/aiAnf// IToLR99TxVSg53ibPmKIt2mtEYMrJ+LXEwCQFpVuJat8hc7Scj5V3V7oz9SbkHGmNCz7 lR8ae83NlSAqybJsyZYP1jenjWqMqBFu8z1ZljqsH3j0FC1QEBWTV0IsKCPtKksW1S/U 9BM4a7B7u0AZfmEKdv3qA8TyuTEjaW8aU32a3NkxzOlzmFlrV7n0CTOsRBFkik8RWJ7q mANpDpaIiJkXK+Usv3HwSi/4gpca/V1tjVC3p+hxAls8fT0AyWcT2zidkF0twPwZQpF7 UCHg== 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=j59G4LxdnA1PxnAjR8bcReZPpyVImQvXkZtFcVzn/rU=; b=X3J13UhuDYCBSkFsXZT14fWcAhGd0hqecC1G5fjgheA+0M0hFSh28Iy1953DnFevnn siiTlSfSm5FizojQSwQIvX+gm/ajyrjEdQbqRouNGEs4YnDkT9ESmxS2EX3vFQyzmbPK HLBhSww0NfF/aCXl/w84ch8V88+bg/g0Tbp0PqFcZIXRqSqydtzMaPnMww50IxZSF2up VTYxq2ffaITyfFaSWObh1gm4ZE5imt6pX1pq9wg0dNwnfBWAyB8n0D7m98Nrlvez3PCd jY+Ewwvqpa5lR4iuBzt7MJ7Dsg+o0bzTtHurJYQ8X0xkvAhkczPkjRFlk250KnHIby1g dpiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=RKD5PA3U; 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 p7si7553660otl.17.2020.01.28.06.05.24; Tue, 28 Jan 2020 06:05:45 -0800 (PST) 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=RKD5PA3U; 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 S1727838AbgA1ODQ (ORCPT + 99 others); Tue, 28 Jan 2020 09:03:16 -0500 Received: from mail.kernel.org ([198.145.29.99]:49900 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727834AbgA1ODO (ORCPT ); Tue, 28 Jan 2020 09:03:14 -0500 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 0ABF02468F; Tue, 28 Jan 2020 14:03:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580220194; bh=lId+fk6SG/b23pmRIOAKEXBVWDilTzV9IkTR4eA9d8k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RKD5PA3UO0a73WQ4pG1bjvH041+1+A1Nd/xj83+08fQ4tKyUPJV8t01zUv5OLUVFs KUK2iiGCSlyR6OaecNyUVd3saEJBqSsHiQYUhLENkm2YteFPjOjxdMqU2Uhwl1FBO4 TJV5MjYsit5Xf+zuMWgI9EYsDBfnJ+tLwjZyz5Wc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold , Dmitry Torokhov Subject: [PATCH 5.4 055/104] Input: keyspan-remote - fix control-message timeouts Date: Tue, 28 Jan 2020 15:00:16 +0100 Message-Id: <20200128135825.218371077@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200128135817.238524998@linuxfoundation.org> References: <20200128135817.238524998@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 ba9a103f40fc4a3ec7558ec9b0b97d4f92034249 upstream. The driver was issuing synchronous uninterruptible control requests without using a timeout. This could lead to the driver hanging on probe due to a malfunctioning (or malicious) device until the device is physically disconnected. While sleeping in probe the driver prevents other devices connected to the same hub from being added to (or removed from) the bus. The USB upper limit of five seconds per request should be more than enough. Fixes: 99f83c9c9ac9 ("[PATCH] USB: add driver for Keyspan Digital Remote") Signed-off-by: Johan Hovold Reviewed-by: Greg Kroah-Hartman Cc: stable # 2.6.13 Link: https://lore.kernel.org/r/20200113171715.30621-1-johan@kernel.org Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman --- drivers/input/misc/keyspan_remote.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) --- a/drivers/input/misc/keyspan_remote.c +++ b/drivers/input/misc/keyspan_remote.c @@ -336,7 +336,8 @@ static int keyspan_setup(struct usb_devi int retval = 0; retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), - 0x11, 0x40, 0x5601, 0x0, NULL, 0, 0); + 0x11, 0x40, 0x5601, 0x0, NULL, 0, + USB_CTRL_SET_TIMEOUT); if (retval) { dev_dbg(&dev->dev, "%s - failed to set bit rate due to error: %d\n", __func__, retval); @@ -344,7 +345,8 @@ static int keyspan_setup(struct usb_devi } retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), - 0x44, 0x40, 0x0, 0x0, NULL, 0, 0); + 0x44, 0x40, 0x0, 0x0, NULL, 0, + USB_CTRL_SET_TIMEOUT); if (retval) { dev_dbg(&dev->dev, "%s - failed to set resume sensitivity due to error: %d\n", __func__, retval); @@ -352,7 +354,8 @@ static int keyspan_setup(struct usb_devi } retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), - 0x22, 0x40, 0x0, 0x0, NULL, 0, 0); + 0x22, 0x40, 0x0, 0x0, NULL, 0, + USB_CTRL_SET_TIMEOUT); if (retval) { dev_dbg(&dev->dev, "%s - failed to turn receive on due to error: %d\n", __func__, retval);