From nobody Sun Feb 8 04:33:56 2026 Received: from mail-ot1-f42.google.com (mail-ot1-f42.google.com [209.85.210.42]) (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 6E46B29D273 for ; Wed, 7 Jan 2026 21:02:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767819729; cv=none; b=aSSdlJROMw5Rf29NoZTR6WkUtdVJoZ0PnEMOY0WN0uY8m6Nsxlea1dU1pV9gvGYkYB/xrgUnjVrpcGTwnKHsFr5/4WdlN1YtjQYzp8iJGgEcNs0BSSaceNzbjYMsWi8azRptEgXFRXUzHvgrllPdUKN0mHYsIhr20ogqnAkEiWU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767819729; c=relaxed/simple; bh=dYJiYxc8TDDZEbRixOBxZlJVkZZcmVq1ISxf7Xs2UAQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=eAxnMqxUqysuUul+s+aCrmuaPX2DrNpdLTE9YLd7wdHse6Tty5mnY4KYigaFrpAWm5+djNknXH7j0tqYjb59PccZBq1ry4mcamZ+T0GmIIVXEU2xBN6/Hz8Sy0/HNt6Py/3Er/ofAJnAKlgRO4YldVwYXJvBOM2w3f2cjRGi0po= 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=AOmPxWFA; arc=none smtp.client-ip=209.85.210.42 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="AOmPxWFA" Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-7c6e815310aso1973232a34.0 for ; Wed, 07 Jan 2026 13:02:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767819726; x=1768424526; 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=9m0TCOaNZ91xSyJqRZyTLI40e0R3ipS6SIhgg8D8jd4=; b=AOmPxWFA3+upPZVKqmlPY45HC9kzzQvLNSsDw0XO43R2QToaosJPQd5Ojoro4KTFsn vr3B23c0Y8CBOwfnsDeaa7783fz6Au3I5HhwrXHG9wHtCq+gf6BXvSQLvtCurVNwS+AR 7C25dy4H4v7oX1JDkKKG8ECYt0fZiJQbwj0pbDKyHJqf9+gTacNkU7k0yFCnPOJuEECt m4SlhzOKiXRuc5MMGbJ2IKqbZ+JTfrpT/XRTcpYVMUDF5hzQ8DwwP7zK2LH/7dZpCy/f zBhuiaIFHoF2gKeNu4tZVPVC8Pakkfl0+yvldKdGDyH2YWbgYnWanav7vuSl9PMjoaw7 r8kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767819726; x=1768424526; 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=9m0TCOaNZ91xSyJqRZyTLI40e0R3ipS6SIhgg8D8jd4=; b=A3L9+KZxdaJMFXxwtKj6C5qJgJlg4CZfGNJp1WL+RBQjAoMGo2+QvOjEVS1wdSK9SH ADbRN2LYFJVk7+a+NJKFpG0yW5SmHCD2y2DrBC7Ym975YAP741HymmmtnPgL0iWSV39P v08GAF/fKXQkf+Huidw9P7lJ2WZS2wpB8TEyg6aQm1zWg8KFYf1D2PGQyBOPgQff3e+a 4Vwak8gvb5nVcW/tUsRzEYc7O7R830GxZYlKlKQB/U5InVq7Y1gUzx93PiJ6hvxnSU3A 3YG4irw4NBJBz4Mm4MvWiw7Cxf2pgdZg87hxeL7YxGZ2GkJskhVGBUjSvK4rJpk8+/x1 PvNw== X-Forwarded-Encrypted: i=1; AJvYcCXVy2//ltxn+7WhbkMpmarACdyWAvBrb/SQLaVQtoDiPFZIb55XstsrWMXlAWYlpm1Bt3pkecUdLZIFii8=@vger.kernel.org X-Gm-Message-State: AOJu0YwGEw5BZxh3OV9yv96fh3J2QSs5vjYG0eBZO38KecNhB9dVMztF QOavSaCTsOyjhfwyhcsYNLxC6Y1oblyxCwieJpmngVbjFWYHjXoS2XT+ X-Gm-Gg: AY/fxX4QtUo4x/1vOSIUXQ1chWioI0es43LmzD8Vp1YZPXSBYfF157q6n4w1pCg2HUZ Xf55Ji2sOnteE/hJV6CkojDEqXrSE9E727WuClU067HKpe7+Fd79a3iebzMmFJKlPp1aGqDNbN9 1My42S9ViFMu6hjyKXIxkMnv7C5A4duILJydTH4kilYVSI90zEM8RHfnkgTTceJrRdnkQzPZ6QW SYAOy5s3xjeFup6U/8+M/7vwsLRSmGzt1MsfrpgwNjBHjlIN7zADIHTHkZLSI9YEjk02WQ6++c9 BH3Ba5m0n+WbCoyqP0cHISqfGltH2F6urZwXxBS4HQsh0w/k5nBc3QmR4JBo+SYPdYxeS5p2+dZ XDiXPPgFG1HoXOEo/8duFfaBb9S+ZoZZuGtlparKkPZKFe0LfxLzFojOxyUCB2QqVGblpMXPnwO g+16NHeHmpUXkLJGSp4SY84JfUQAPIWKJ+ X-Google-Smtp-Source: AGHT+IH9CIe32A7vpxFuhsj0I+GnQTGQY8+uNKa4Ka1YIPCGIcKQxaoEUSD7QmnzgIM5BmvscSIzLg== X-Received: by 2002:a05:6808:3c45:b0:450:d504:9281 with SMTP id 5614622812f47-45a6bec55a5mr1899246b6e.59.1767819726241; Wed, 07 Jan 2026 13:02:06 -0800 (PST) Received: from newman.cs.purdue.edu ([128.10.127.250]) by smtp.gmail.com with ESMTPSA id 5614622812f47-45a5e288d5fsm2916695b6e.14.2026.01.07.13.02.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 13:02:05 -0800 (PST) From: Jiasheng Jiang To: Nilesh Javali , GR-QLogic-Storage-Upstream@marvell.com, "James E . J . Bottomley" , "Martin K . Petersen" Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Jiasheng Jiang Subject: [PATCH] scsi: tcm_qla2xxx: initialize cmd->offset in tcm_qla2xxx_write_pending Date: Wed, 7 Jan 2026 21:02:02 +0000 Message-Id: <20260107210202.36203-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 the tcm_qla2xxx fabric driver, command structures (struct qla_tgt_cmd) are often recycled from a command pool to improve performance. Failure to reset the internal 'offset' member can lead to incorrect DMA offsets when a command is reused. Differential analysis shows that while tcm_qla2xxx_queue_data_in and tcm_qla2xxx_queue_status both explicitly initialize 'cmd->offset =3D 0' before passing the command to the lower-level QLA2xxx driver, tcm_qla2xxx_write_pending fails to do so. If a recycled command with a stale non-zero offset is passed to qlt_rdy_to_xfer, it may result in data corruption or IOMMU faults due to the hardware attempting to transfer data to or from an incorrect memory offset. Fix this by explicitly initializing 'cmd->offset' to 0 in tcm_qla2xxx_write_pending to ensure consistency with other command queuing paths. Signed-off-by: Jiasheng Jiang --- drivers/scsi/qla2xxx/tcm_qla2xxx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_= qla2xxx.c index 2fff68935338..282689bb6750 100644 --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -415,6 +415,7 @@ static int tcm_qla2xxx_write_pending(struct se_cmd *se_= cmd) =20 cmd->sg_cnt =3D se_cmd->t_data_nents; cmd->sg =3D se_cmd->t_data_sg; + cmd->offset =3D 0; =20 cmd->prot_sg_cnt =3D se_cmd->t_prot_nents; cmd->prot_sg =3D se_cmd->t_prot_sg; --=20 2.25.1