From nobody Sun Feb 8 05:37:18 2026 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (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 04C9A225408 for ; Wed, 7 Jan 2026 19:06:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767812788; cv=none; b=d66/SYH3QHXv2rrhcjLPRfJwAQHxx28wit9w1SlVhwWoG5v4WYoyEGWd69M7r3OH+Po1z4SwToYKXH+sPRsuhjgTo0nfHPXxQxTi1CzeW2Y1XIFhCM5KbWtiWAx5Kub3qWTQG5FR9SE5vNzXcNTdTYPeOSuomnocX3LDMDT6uf0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767812788; c=relaxed/simple; bh=mo9f8JN8GAsJLjzlBTgtgtfEI/899McY8QQtapaY2bs=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=ADusgO3oN2Qv9Se35G+nhD8Uuc0V7LuZ5614wSXLXPYZopWTLvibl6HN3PKtuIKmkzOhNGlxcuMwl/gwxLIc5CyC4kjFvoaiN9DZtEkrzLxN+xiIqsTrqSCUSKgDFWREyLIHHRUK0I/Aw7vKwdcSoP/HGOi3z+77OduBb0wNWfE= 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=mrYMjEOh; arc=none smtp.client-ip=209.85.210.47 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="mrYMjEOh" Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-7cac8231d4eso1396607a34.2 for ; Wed, 07 Jan 2026 11:06:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767812786; x=1768417586; 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=T2pCwQ7xIIDyyL8BKt+UlW+6LMqGQZaMTa7KhQupEF4=; b=mrYMjEOhVqjZjLBoCWUvo33BajY+xPGz0qHIPAnkEt3YlJyH4lpJqgGQbJHnPOmlz4 9mBrxwt96Re8chNMi2anlfXtAE8sbGYNWo9uJxcVUqspulBXiXcg5aLvIGo7ojjLqtoR pS4urnpt2PiIrL0uC0KVfN+fTVe/LTBTp1gA3hm1F+P/iEfzxNf4u1k9rQZdLtGEhKOn 7O5quJ4indAZQ0hHUeAaOKboPT78IFjQ5fgrldiSlSMus4qWSSnMjluW/rvEFHpiQ/6Y ZBQNWRGfwZIo7MLF6pYoFckQ9OX1oY6HaZq9iYpZvEogW1L80c8s153C+q9cFdhgR+Iw R9ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767812786; x=1768417586; 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=T2pCwQ7xIIDyyL8BKt+UlW+6LMqGQZaMTa7KhQupEF4=; b=ZOCFWGTy6PkdOeA/DFRtNzNpKrEW+bMKPcrpBbdSD3MsZBewh2R63oGtdRrtsqqNoz pLrO1VAfa9S+2eFdceuSPo98wPEMCDfpWTclLHVYnNYuUolSjSGvh1gbs7nR4a5inZSH pHru0h1RmIxepMRXDWo5BrU/io8I91droDo6GWMm8e8lZiHjFon4RTX4Au3Yag4rNijw Nxv/2S9ysAGXDPlWn/HBqfzwOcWjD/TX/WBbR0gWj9ysq1zWBV6aSg8T0e4pJI0FNeNm /+LcwcH3yjaOISM5nOBZu5u8awgRwpABGkpZ7RNigd4EwSEsuO3r4NCP6NzYOTOdJBMF Mjjg== X-Forwarded-Encrypted: i=1; AJvYcCVflts6usaGOrPZ0BYxa/rGCB8Z+MiAXMjS2Y2vZmUMZ9FQJigJcf8U3KD1WOKeBgSRnCmNznV1VKvI3As=@vger.kernel.org X-Gm-Message-State: AOJu0YzvB4yztrevkc2GQvXZue+Gf8l33zBOdP5nBD2hrO96e7upen1I hDjOCEjYiRDcMQDb4X6DWA54RNT7hdqyaonJJ6CW5CNlAke00ps0zEJ3 X-Gm-Gg: AY/fxX5vg4Q8QsURt01228SmWxONtBZEIvkD3vvuoSLjTNHOb1tYhSfExjudc/CrAco rp2V0D3enNKEIQjiBsgonngSHNlJaN1UPZkqRTjpp5s/DXuWQLaqrqCGIsPmQyVRe514K4ShHmB /3smWBL9PCqGIx9IoXTlU05SFswQy5Lp46B8p/xN+Mc9w6MXUl5BU1WW+g39QzGPpAROy/5pkNV fc24oRCDkwADSHosgaoQEI006bNObkzi9CZ7NdqS9pr9koJKmgldwdhqwAhMf8iudz4eVFpesFr ZZ3bE4KgGFiFZKww2YHg4dtyb8XPtON8SEYf26WLadzaFO+PAFnXTk+WQ5HSBett7oPAAJeVnPg mNjJmPXOAFwpaooIJ1Glz8MbWwAg7K6PwAbY03W8xBKyrdesvir+nEKj7/2g6fCv2hdpEaOTDJP EwNl6yFTJpN3hh8bpMnrfAmgW6JFgpPin/YhYpKWBfmso= X-Google-Smtp-Source: AGHT+IHPdrsMXLuo8RFcL3m7hcu7Ci26TgWVmCMCOgCc1zrCB24qO+Ip+H5K7gfnRLglFF6kk19onw== X-Received: by 2002:a05:6830:25c3:b0:7c7:471:55ff with SMTP id 46e09a7af769-7ce508ddce9mr1836539a34.10.1767812785772; Wed, 07 Jan 2026 11:06:25 -0800 (PST) Received: from newman.cs.purdue.edu ([128.10.127.250]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7ce4781eecasm3796581a34.10.2026.01.07.11.06.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 11:06:25 -0800 (PST) From: Jiasheng Jiang To: Greg Kroah-Hartman , linux-usb@vger.kernel.org Cc: Jiasheng Jiang , Chen Yufeng , linux-kernel@vger.kernel.org Subject: [PATCH] usb: gadget: f_tcm: initialize data_len in UAS path for consistency Date: Wed, 7 Jan 2026 19:06:22 +0000 Message-Id: <20260107190622.26070-1-jiashengjiangcool@gmail.com> X-Mailer: git-send-email 2.25.1 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" In usbg_submit_command(), which handles the UAS protocol, the 'data_len' member of the 'usbg_cmd' structure was left uninitialized by the logic, relying instead on the zeroing performed by usbg_get_cmd(). In contrast, the BOT path (bot_submit_command) explicitly initializes this field from the Command Block Wrapper (CBW). This discrepancy is evident in error handling paths where __target_init_cmd() is called using cmd->data_len. Explicitly initialize cmd->data_len to 0 in the UAS path and use this variable when calling target_submit_cmd(). This ensures architectural consistency between the UAS and BOT protocols within the driver and avoids reliance on implicit memory state during error transitions. Signed-off-by: Jiasheng Jiang --- drivers/usb/gadget/function/f_tcm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/function/f_tcm.c b/drivers/usb/gadget/funct= ion/f_tcm.c index 6e8804f04baa..822cebc7b405 100644 --- a/drivers/usb/gadget/function/f_tcm.c +++ b/drivers/usb/gadget/function/f_tcm.c @@ -1227,7 +1227,7 @@ static void usbg_submit_cmd(struct usbg_cmd *cmd) goto out; =20 target_submit_cmd(se_cmd, tv_nexus->tvn_se_sess, cmd->cmd_buf, - cmd->sense_iu.sense, cmd->unpacked_lun, 0, + cmd->sense_iu.sense, cmd->unpacked_lun, cmd->data_len, cmd->prio_attr, dir, flags); =20 return; @@ -1389,6 +1389,7 @@ static int usbg_submit_command(struct f_uas *fu, stru= ct usb_request *req) cmd->tmr_func =3D 0; cmd->tmr_rsp =3D RC_RESPONSE_UNKNOWN; cmd->flags =3D 0; + cmd->data_len =3D 0; =20 cmd_iu =3D (struct command_iu *)iu; =20 --=20 2.25.1