From nobody Mon May 25 04:33:47 2026 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 12A0133B961 for ; Mon, 18 May 2026 23:43:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779147823; cv=none; b=Bulv8opR8a8tO+RhOLjYVJbUfwG7y+h5KrYvUGBY1oZaTHAfPHHpCu7CtTkAfDCi4uRDWCz/ECrZdrCz38qnod4Pnnk0nOZGQcogT925fhq2OgU5x0hl6uTIGoUfucCpi708s8CjUS+VDVrH3Uh7PHVXtYus0ZgVoEmHRvOzFC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779147823; c=relaxed/simple; bh=IFNciou/V71XsBKVuFdNxfG7ygUigfWqW28bY5N29jo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WPVMT8tt9E/gYGJm628mJQgwY1V0h1wuJ49lmugdS/xI6wkrF5YXkKd4Doai/jGXaJBJCeb0ZdPJ0Zq8MDSWgBMxvud/mFTL2JOSYM9IZKhoizCyAZTsBKvI2G5gSBaSPhpxrEjr9uNCukzp73UIzm38A82XaMVM/ff4KXvs3zo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nsbXNlhH; arc=none smtp.client-ip=209.85.222.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nsbXNlhH" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-90d2acb9936so300460585a.0 for ; Mon, 18 May 2026 16:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779147821; x=1779752621; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=dNXEdcW1UqrQFdD6k33dDba7w+EtTVP9jWM9zY9ankQ=; b=nsbXNlhHA+tB2oxkBaaKv8KyLsUB2whEf0/6/zuCpGff1wqMNjsmu2EM1VZveXo1Y7 ot7mWewa/Ll8O5t+8F+cFLy/kRcJUVBiBtbM1vEgiLvTJb2l8DW7vpKVgbPBW3Jngmbc kqyYl+bVKMdnVmRUBb0WmbRyYCi6ikPCr5quEv2Cly33hy7v5lTLGufPmJWWc+v/zxwx 4yP6zNfTZmI4DIy04dLCT3E81u0Ch6VuF9+dBo0PrZtIl1r3FD1K85v8ZJmi9DdBgYsX UXWUQo7ktRiJH10ltqnYo5zRgB8v7qcFfA2HEKpF1GOC7CVF6A23lYnTFoV/kC7MqK2m N1kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779147821; x=1779752621; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dNXEdcW1UqrQFdD6k33dDba7w+EtTVP9jWM9zY9ankQ=; b=qMIFUaHStBoEevs0NTUBdks/IhMGnmkWX3Y3TGp6l2sJtubK1n4Ypd7g9m5UhCZEFA 4fkPmDLQZ2J4khn5nVIO+JUqVHqVg0TsfNSqQ3hVLGx7nP0/6+Gw5hIK8V+auDCyJmzb u9HgNKAzRMAv3QNBQwb1ecTpGt8BKeKNOGS6v+qxUe3wNNJaI5t4ylq41aNXtgC/tkgy TJU9idALv8u0swq8QX++JD0ba18X/2csTy+C0Mlk4if/FMWiSa8WDCGtcbvjA4n+fGHi XAWA3J6C8y+p6C46Qgr0qyTAa+EEVEfVB69IE/nkIPbUo43dzaFpc4rN8aU8G5k+kava umbw== X-Forwarded-Encrypted: i=1; AFNElJ+JWUU1k+yvZs5cLFsZdu2JVKC3lNpV3W1cyYZxPq2Xk4HGnjdNrvr5P5+CSLgTVkvPblJNGsepkn3DSyo=@vger.kernel.org X-Gm-Message-State: AOJu0YwtuFwFbeVurLDthC2goScDW0+Y2KF96SI7HQ3O1pdGTJ6eWihC g5lYbJTcc+GwwVkdhwqXB8P1rMAJPSKTbrE99KfJuMOo7/sY7nIdNgVj X-Gm-Gg: Acq92OEYzUB9LlRajlAj/XfZQG/Ssg4LGnLlv3NMJhUH5jo+pFeb+nqnRc04bhLyRH6 +TbMZUUWujfScjqOtKNH1xvu5KlSRMJ2fmuTs0jasznJE9tZXI3yHxqM9lQ7TdUo+zTEauECHBN hN8cMyAqsDuKEWeZmJ4VM3MAfj7neGwo106GoQpH003shIyBq+QwIunn6BwFRRrAttGPXzqU2uh JkYt5/UiIfgekSzRGmYkBa2M1lMpmWobkZUbUrdquBJBjBTZjNdjxNCPYjUfUs0UxmIQHL07u7y /8x13+YeY//T5iZHvoTLIVhl/pRQkCn6vdskfjNdkXqb8lkDnQ7d122sN6SWTwZsUQvKwe9KvaX 0Ud/d81alf5P9Gw+jpLMjuMhPtIuPO8OvPqOoDjBwqkhnKRUs/Lf3cF3BGtN3NOnzrQrr2LnELQ YHquxQscD2ML0RXJ8lPsw6XtClZ4sLmHDQ9vfvJs58RRAHvJt3nC5FcgDC215ttBAKk1TQ+pd4 X-Received: by 2002:a05:620a:aa06:b0:911:ddfd:634a with SMTP id af79cd13be357-911ddfd6552mr2338074985a.4.1779147821044; Mon, 18 May 2026 16:43:41 -0700 (PDT) Received: from mango-teamkim.. ([129.170.196.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-910ba36e1acsm1649398285a.3.2026.05.18.16.43.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 16:43:40 -0700 (PDT) From: pip-izony To: Greg Kroah-Hartman Cc: Seungjin Bae , Alan Stern , Kees Cook , Chen Ni , Sebastian Urban , Ingo Molnar , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] usb: gadget: dummy_hcd: Reject hub port requests for non-existent ports Date: Mon, 18 May 2026 19:43:14 -0400 Message-ID: <20260518234314.1889396-1-eeodqql09@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Seungjin Bae The `dummy_hub_control()` function handles USB hub class requests to the virtual root hub. The `GetPortStatus` case returns -EPIPE for requests with `wIndex !=3D 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 `wIndex !=3D 1` rejection to both cases, matching the existing behavior of `GetPortStatus`. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Suggested-by: Alan Stern Signed-off-by: Seungjin Bae Reviewed-by: Alan Stern --- drivers/usb/gadget/udc/dummy_hcd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/du= mmy_hcd.c index f094491b1041..f47903461ed5 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -2134,6 +2134,8 @@ static int dummy_hub_control( case ClearHubFeature: break; case ClearPortFeature: + if (wIndex !=3D 1) + goto error; switch (wValue) { case USB_PORT_FEAT_SUSPEND: if (hcd->speed =3D=3D HCD_USB3) { @@ -2248,6 +2250,8 @@ static int dummy_hub_control( retval =3D -EPIPE; break; case SetPortFeature: + if (wIndex !=3D 1) + goto error; switch (wValue) { case USB_PORT_FEAT_LINK_STATE: if (hcd->speed !=3D HCD_USB3) { --=20 2.43.0