From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE9C3396591 for ; Mon, 18 May 2026 21:54:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779141269; cv=none; b=rcnc0TWk5pfGbwMVBvPrmOvOmSPj3257Jo7Tunv+WQ+wu2Z9j4iVxWaeGyscIcKgjcRna+Hw3vKhNmtwQRd844i1nhlGZy7djt2wmi7s76z4BQB1aUnNfBljhdK9zAjT/Rdb9RM3L6nz4h2YBDhivpVXJH2M2ssNGYe5CHBbjKA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779141269; c=relaxed/simple; bh=QL3k29rAvR2xNsgHCe6ZsHOzX8Bl8P0IRFycyNMvTTg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=Qdz2Qt6ZiD6bm8vXNiUBGp5Je49CJ3QYLEElGVK8jJEEbbPe3u1U3+ngIb+golLJuDwWypcFVeIyF20FfuRHBWXUz+/AkvAWYy7lT1VtJ7awSXuroChLhLQblgZlSlYPQVI36gZHvs1PUceJ1Je4OXbc5WIVtMsKCed3Uex4iJ0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rowland.harvard.edu; spf=fail smtp.mailfrom=g.harvard.edu; dkim=pass (2048-bit key) header.d=rowland.harvard.edu header.i=@rowland.harvard.edu header.b=CHtdgU17; arc=none smtp.client-ip=209.85.160.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rowland.harvard.edu Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=g.harvard.edu Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rowland.harvard.edu header.i=@rowland.harvard.edu header.b="CHtdgU17" Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-50d87610513so36921711cf.3 for ; Mon, 18 May 2026 14:54:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rowland.harvard.edu; s=google; t=1779141267; x=1779746067; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=xqk9vBawcFaV4OMn7N1td+kO+tZlE2hfUob5M/7FxBk=; b=CHtdgU17OSJVdEk+5FVXyDW0LhoNaX5YKX/ZguPMS/UUNkEng3RVa0eJ60dVnK1wTD beB3ibDfWmHScFfqCk+ydLuzd/6gLXt5tiB3Q+WBm9kI223LvPjQqr9/P86M6gJNyo/N uUH4ElewSf5N72ZW8mTvIcuidRlB4rWu+4+lZ6UI4M0NsK9ahXKLrR/JD79O62wXDYLu I5DnaAbF0Yc9eDPp+WxwbDCpnJXkVkoEOZQ0zsAHBI0JrJVfxFM/NnYBDY35hZDfpt2j cJBQbOBBE8+N/BwmWXFcd8rVmswawlbAl3XqwJ+BStuxt5MALvFS2te5pc/0ZQwGTQ7K NxLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779141267; x=1779746067; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xqk9vBawcFaV4OMn7N1td+kO+tZlE2hfUob5M/7FxBk=; b=WCN6/2q9Rawy0BnHqaZFLnMOPWvGcgMI15peMw50PgKbzXikDQp469sSJJ4R/PqRaO ck8Ef1eJf8+0isk/qcJ5cf15PJEpLFLimNSeXqNUV+Y2QCyYOMCkelkqx8tFZ4uvK5JX pbivv9+kHvBniq0heVwDlT8DVovNrGvqt/vD/dykz0m6QDDxGBdINLrmi5Dhz2nJOZ+y Q7GKV7N7N5bFKdhAs7CCvOPM2jsYcOOK8p9rQlJWxCFGKlRu8sMmAK3WSsZrSUjBcXmd mzFGUc2QS25VWOfpLH7hpc1QMo+mtHQWwZoKLsLdbeAWe7+j4Ugq2ZwZNbWDdNkG+DP3 g6kA== X-Forwarded-Encrypted: i=1; AFNElJ80/l1e81hoRsCHLO093QrLE0XQR0FMvDMtTXCZSYcHgrZlitCL2b+U/IrCeUF6rvRVbtdBdJW+RGqWhlg=@vger.kernel.org X-Gm-Message-State: AOJu0YxcvFXAP/TJLPPG3BN915fnSfXgUiwJiVmZ/vNqrL0I/9g33URF CO7TCXxYWI7XcP4EL2cWPe0E0zPb/VPL6SSYulP2yeAsxEIvNCOGfAkVThBxhvJUwQ== X-Gm-Gg: Acq92OGB/BA5EzibZokNqnm7lFRtq3QCEN22HOadt6yJj0ll070OWClDWKjxskZmBlD 1iYlavcr7nfu5hHouTl1FLGSZpeA4vGfkjqCT6DUpt0AU8jRn3wedDw15c2B5wNec8RXfRhzGSM 00PWD3bYiFDhrXdSlTPciQhD8QGOoL+bbPNTfsz51cbTUkZw/taO1Jdu11YCH3G8jW/rUFTtW+f VizucMYuEa7QW0dNd8ExZM1LVhDrodGdaKXgBLvfqQ1bFtCw5RZjzqfRx2eG6xpGkGKHTSYrW1v PDKpPGRglcdDu7GRDLlu9Y6kLRGmUGLQA2QUiwcZS5LlYenGCY4/XKL4aj6f5snIgMy6x2V4Boq g9iNs2sid/stkcSW/vSXceYK9Qa2rttCOwP8SXS01kz4L0CgiocRV65lZ+onXiaGdbAIKGzftM4 DYguAdNa2mP+1F9rjXb4gLygzHEsWGS2qrPCw/WajDC+8= X-Received: by 2002:ac8:578f:0:b0:50f:9c32:509d with SMTP id d75a77b69052e-5165a286f00mr234843941cf.60.1779141266677; Mon, 18 May 2026 14:54:26 -0700 (PDT) Received: from rowland.harvard.edu ([2601:19b:d01:d210:d62f:1911:f952:16ba]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-5164581f1eesm141238591cf.25.2026.05.18.14.54.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 14:54:26 -0700 (PDT) Date: Mon, 18 May 2026 17:54:23 -0400 From: Alan Stern To: pip-izony Cc: Greg Kroah-Hartman , Kyungtae Kim , Kees Cook , Dan Carpenter , David Mosberger , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/2] usb: host: max3421: Reject hub port requests for non-existent ports Message-ID: References: <20260517000145.1868817-2-eeodqql09@gmail.com> <20260517190308.1876316-1-eeodqql09@gmail.com> <20260517190308.1876316-2-eeodqql09@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260517190308.1876316-2-eeodqql09@gmail.com> On Sun, May 17, 2026 at 03:03:08PM -0400, pip-izony wrote: > From: Seungjin Bae > > The `max3421_hub_control()` function handles USB hub class requests > to the virtual root hub. The `GetPortStatus` case correctly rejects > requests with `index != 1`, since the virtual root hub has only a > single port. However, the `ClearPortFeature` and `SetPortFeature` > cases lack the same check. > > Fix this by extending the `index != 1` rejection to both cases, > matching the existing behavior of `GetPortStatus`. > > Fixes: 2d53139f3162 ("Add support for using a MAX3421E chip as a host driver.") > Suggested-by: Alan Stern > Signed-off-by: Seungjin Bae > --- Reviewed-by: Alan Stern Heh, this made me go back and look at dummy-hcd.c. It's missing the same check in the same places! Would you like to submit a patch to fix that driver as well? If not, I'll take care of it. Alan Stern > v3: New patch in v3, suggested by Alan Stern. > > drivers/usb/host/max3421-hcd.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c > index 3d6b351dcb1a..73e76d0e6973 100644 > --- a/drivers/usb/host/max3421-hcd.c > +++ b/drivers/usb/host/max3421-hcd.c > @@ -1685,6 +1685,8 @@ max3421_hub_control(struct usb_hcd *hcd, u16 type_req, u16 value, u16 index, > case ClearHubFeature: > break; > case ClearPortFeature: > + if (index != 1) > + goto error; > switch (value) { > case USB_PORT_FEAT_SUSPEND: > break; > @@ -1728,6 +1730,8 @@ max3421_hub_control(struct usb_hcd *hcd, u16 type_req, u16 value, u16 index, > break; > > case SetPortFeature: > + if (index != 1) > + goto error; > switch (value) { > case USB_PORT_FEAT_LINK_STATE: > case USB_PORT_FEAT_U1_TIMEOUT: > -- > 2.43.0 >