From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.225]) (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 9DCB9801 for ; Sat, 2 Mar 2024 00:27:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.225 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709339271; cv=none; b=s7CFvUsNDxACjk+//dQiLNwYiHJSFvWiHr0cYlyiriGznJ4aWxqHQEmACgEjQwzC2YG+TUcDrOFZL2bQRL9KaSjyP1M6HryNKOjgCMaU9LuPidWAJ3DoEzrzc08aLueoNK0xhV1YapH6jsG6QSgSc3R2nPp8f1UUHDMwts9kVig= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709339271; c=relaxed/simple; bh=aYq0NwpZgLzqnF+6us/5233DaefXp5Llrj84sDhRT1k=; h=Date:From:To:Cc:Message-ID:Subject:MIME-Version:Content-Type; b=EJ043p0UUBcpz+Zg3aUpjxuukIXjT6iyjyOv6YnAeVqMn0lLbjWgeauXz7+ZsHrA4KkYkDVj9L/Wd7K/jGbsAKFHF1+vTvH++8PSwCDwoegdguQOCYa7kTqVUzHDrULMvxr8gLE4vlqcIWmB7iBn3OLaGooYSXi0vPBDYh+VogA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mail.totalphase.com; spf=pass smtp.mailfrom=totalphase.com; dkim=pass (2048-bit key) header.d=totalphase-com.20230601.gappssmtp.com header.i=@totalphase-com.20230601.gappssmtp.com header.b=rCr6j74/; arc=none smtp.client-ip=209.85.214.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=mail.totalphase.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=totalphase.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=totalphase-com.20230601.gappssmtp.com header.i=@totalphase-com.20230601.gappssmtp.com header.b="rCr6j74/" Received: by mail-pl1-f225.google.com with SMTP id d9443c01a7336-1d94b222a3aso28712285ad.2 for ; Fri, 01 Mar 2024 16:27:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=totalphase-com.20230601.gappssmtp.com; s=20230601; t=1709339269; x=1709944069; darn=lists.linux.dev; h=thread-topic:thread-index:mime-version:subject:message-id:cc:to :from:date:from:to:cc:subject:date:message-id:reply-to; bh=U/ETYQf4jeeeUpCfwfuE8yvLTcNPLx2Ezp/zSgWjEYs=; b=rCr6j74/DNUiaou+j2tqSdexeEV5wa1Kdrv/Yzu4JA4q4C+om4HyAjf73QjJItjsMV mubTSjuTzt7sVn05F0dlqS1AehPW0xcLc1P4oJJLD6IeFnjfiNOgvnukogCjaEh970p6 smw6xzTIQTyYBCVefM+iVpcD44nyNlkZO/o94WDfZ1y+UoS/G4ez9ugvehlE3ybqOECC 8D0sWOQIBhEhuEzPSYk2v2aYdk46Xfd/9yAMnnBrCHqnK/TOtB2kA+ppmv3va7Ck3SkE pnfS+YRPGVIRoE2/TJBne3fBMy6LCkjD/5Jp95gC9e2ymJN00MKyYrWqJOUQiSbGCSD8 UEww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709339269; x=1709944069; h=thread-topic:thread-index:mime-version:subject:message-id:cc:to :from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=U/ETYQf4jeeeUpCfwfuE8yvLTcNPLx2Ezp/zSgWjEYs=; b=EWHYf5m1ulcKBWfFFFEB59+iBz5MRl+gg4T7q5s67lbIROitbYj+g+lKH0qMgDbRLw P8daFWCpDhVZPgwv27RXJWjyfmy3hO2MtVMRzESnXQwZXIRBV54UoxPGoyU2I7HYe5J8 pYQRRlQXgx1DlFbYxBILBM6lWuBHhxX4MdCWw+Yka+2vU/pCx0uLnE361ahFxUEVENec Jcby1W5P2HAEuxR9MleBEY2mIExw7HhZUteougTQ5Uz3vFqtWPDb2XGMKDRxef27Go2M PgTqpTc0O/1a1mxUS9FsjT7EBJI+JtZqW+PVSmB/kQT8BQI1vQ4kIbahLrxhtm+RuKeW S02A== X-Gm-Message-State: AOJu0YygLCpdWqWGTzAK5mFXgUUimGWeRQjrweFmB4PjSW/Z25UwaS4a qhcCJU2lmU2I6rKUTVQxsxzcikBwP0jQaTf56nrzKrgO5yKhvcuoMbd+1gNQurPK5S4blzkBjfC 0NjSnWzqzcJK61zI2jNtwKMmEABcof6Bp5Sf6lFLx X-Google-Smtp-Source: AGHT+IEqdlgkkFwW60V75jejg7YZdSlmLn3jzp41j+//DPm4sU4aE6RtedzSeq3x4BMBqPbHuMJgkCsDo1Fp X-Received: by 2002:a17:902:e944:b0:1dc:226d:d85f with SMTP id b4-20020a170902e94400b001dc226dd85fmr4344686pll.69.1709339268708; Fri, 01 Mar 2024 16:27:48 -0800 (PST) Received: from postfix.totalphase.com ([65.19.189.126]) by smtp-relay.gmail.com with ESMTPS id f4-20020a170902684400b001dca40c31c3sm199558pln.104.2024.03.01.16.27.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 16:27:48 -0800 (PST) X-Relaying-Domain: totalphase.com Date: Fri, 1 Mar 2024 16:27:46 -0800 (PST) From: Chris Yokum To: stable@vger.kernel.org Cc: regressions@lists.linux.dev Message-ID: <949223224.833962.1709339266739.JavaMail.zimbra@totalphase.com> Subject: 6.5.0 broke XHCI URB submissions for count >512 Precedence: bulk X-Mailing-List: regressions@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_833958_1937603355.1709339266737" Thread-Index: /JaF4kMIYC1hrKWG7dmd53++d8Hw7Q== Thread-Topic: 6.5.0 broke XHCI URB submissions for count >512 ------=_Part_833958_1937603355.1709339266737 Content-Type: multipart/alternative; boundary="=_30356fbf-110c-4a07-a24b-a445a01b25e1" --=_30356fbf-110c-4a07-a24b-a445a01b25e1 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit We have found a regression bug, where more than 512 URBs cannot be reliably submitted to XHCI. URBs beyond that return 0x00 instead of valid data in the buffer. Our software works reliably on kernel versions through 6.4.x and fails on versions 6.5, 6.6, 6.7, and 6.8.0-rc6. This was discovered when Ubuntu recently updated their latest kernel package to version 6.5. The issue is limited to the XHCI driver and appears to be isolated to this specific commit: [ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/usb?h=v6.5&id=f5af638f0609af889f15c700c60b93c06cc76675 | https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/usb?h=v6.5&id=f5af638f0609af889f15c700c60b93c06cc76675 ] Attached is a test program that demonstrates the problem. We used a few different USB-to-Serial adapters with no driver installed as a convenient way to reproduce. We check the TRB debug information before and after to verify the actual number of allocated TRBs. With some adapters on unaffected kernels, the TRB map gets expanded correctly. This directly corresponds to correct functional behavior. On affected kernels, the TRB ring does not expand, and our functional tests also will fail. We don't know exactly why this happens. Some adapters do work correctly, so there seems to also be some subtle problem that was being masked by the liberal expansion of the TRB ring in older kernels. We also saw on one system that the TRB expansion did work correctly with one particular adapter. However, on all systems at least two adapters did exhibit the problem and fail. Would it be possible to resolve this regression for the 6.8 release and backport the fix to versions 6.5, 6.6, and 6.7? #regzbot ^introduced: f5af638f0609af889f15c700c60b93c06cc76675 --=_30356fbf-110c-4a07-a24b-a445a01b25e1 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable

We have found a regre= ssion bug, where more than 512 URBs cannot be reliably submitted to XHCI. U= RBs beyond that return 0x00 instead of valid data in the buffer.


Our softw= are works reliably on kernel versions through 6.4.x and fails on versions 6= .5, 6.6, 6.7, and 6.8.0-rc6. This was discovered when Ubuntu recently updat= ed their latest kernel package to version 6.5.

The issue is limited to the= XHCI driver and appears to be isolated to this specific commit:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds= /linux.git/commit/drivers/usb?h=3Dv6.5&id=3Df5af638f0609af889f15c700c60= b93c06cc76675


Attached is a test program that demonstrates the problem= . We used a few different USB-to-Serial adapters with no driver installed a= s a convenient way to reproduce. We check the TRB debug information before = and after to verify the actual number of allocated TRBs.


With some adapte= rs on unaffected kernels, the TRB map gets expanded correctly. This directl= y corresponds to correct functional behavior. On affected kernels, the TRB = ring does not expand, and our functional tests also will fail.


We don't k= now exactly why this happens. Some adapters do work correctly, so there see= ms to also be some subtle problem that was being masked by the liberal expa= nsion of the TRB ring in older kernels. We also saw on one system that the = TRB expansion did work correctly with one particular adapter. However, on a= ll systems at least two adapters did exhibit the problem and fail.


Would i= t be possible to resolve this regression for the 6.8 release and backport t= he fix to versions 6.5, 6.6, and 6.7?


#regzbot ^introduced: f5a= f638f0609af889f15c700c60b93c06cc76675
--=_30356fbf-110c-4a07-a24b-a445a01b25e1-- ------=_Part_833958_1937603355.1709339266737 Content-Type: text/x-csrc; name=xhci_bug.c Content-Disposition: attachment; filename=xhci_bug.c Content-Transfer-Encoding: base64 Ly8gVGVzdCBjYXNlIGZvciBYSENJIGJ1ZmZlciBleHBhbnNpb24gcmVncmVzc2lvbgovLwovLyAx KSBDb21waWxlIHRoaXMgcHJvZ3JhbTogIGdjYyAtbyB4aGNpX2J1ZyB4aGNpX2J1Zy5jCi8vIDIp IFBsdWcgaW4gYSBzdXBwb3J0ZWQgVVNCIHRvIHNlcmlhbCBkZXZpY2UKLy8gMykgR2V0IHRoZSBi dXMgYW5kIGRldmljZSBudW1iZXJzIGZyb20gbHN1c2I6Ci8vICAgIEJ1cyAwMDMgRGV2aWNlIDAx NTogSUQgMDQwMzo2MDAxIEZ1dHVyZSBUZWNobm9sb2d5IERldmljZXMgSW50ZXJuYXRpb25hbCwg THRkIEZUMjMyIFNlcmlhbCAoVUFSVCkgSUMKLy8gNCkgUnVuIGFzIHJvb3Q6ICAuL3hoY2lfYnVn IGZ0ZGlfc2lvIDMgMTUgNDA5NgoKI2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxmY250bC5o PgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5n Lmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgojaW5jbHVkZSA8 bGludXgvdXNiZGV2aWNlX2ZzLmg+CgojZGVmaW5lIFVSQl9TSVpFIDY0CgpzdHJ1Y3QgRGV2aWNl IHsKICAgIGNvbnN0IGNoYXIgKmRyaXZlcjsKICAgIGludCAgICAgICAgIGVwOwogICAgY29uc3Qg Y2hhciAqZXBfZGVidWc7Cn07CgpzdGF0aWMgc3RydWN0IERldmljZSBkZXZpY2VzW10gPSB7CiAg ICB7ICJmdGRpX3NpbyIsIDB4ODEsICJlcDAyIiB9LAogICAgeyAicGwyMzAzIiwgICAweDgzLCAi ZXAwNiIgfSwKICAgIHsgImNwMjEweCIsICAgMHg4MiwgImVwMDQiIH0sCiAgICB7IH0sCn07Cgpp bnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogICAgLy8gUGFyc2UgY29tbWFuZCBs aW5lCiAgICBpZiAoYXJnYyA8IDQpIHsKICAgICAgICBjaGFyIGRyaXZlcnNbMjU1XSA9IHsgfTsK ICAgICAgICBmb3IgKGludCBpID0gMDsgZGV2aWNlc1tpXS5kcml2ZXI7ICsraSkgewogICAgICAg ICAgICBzdHJjYXQoZHJpdmVycywgZGV2aWNlc1tpXS5kcml2ZXIpOwogICAgICAgICAgICBpZiAo ZGV2aWNlc1tpKzFdLmRyaXZlcikgc3RyY2F0KGRyaXZlcnMsICJ8Iik7CiAgICAgICAgfQoKICAg ICAgICBwcmludGYoInVzYWdlOiB4aGNpX2J1ZyA8JXM+IEJVUyBERVYgTlVNX1VSQlNcbiIsIGRy aXZlcnMpOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIGNvbnN0IGNoYXIgKmRyaXZlciA9 IGFyZ3ZbMV07CiAgICBpbnQgYnVzID0gYXRvaShhcmd2WzJdKTsKICAgIGludCBkZXYgPSBhdG9p KGFyZ3ZbM10pOwogICAgaW50IG51bV91cmJzID0gYXRvaShhcmd2WzRdKTsKCiAgICBpZiAobnVt X3VyYnMgPiA0MDk2KQogICAgICAgIG51bV91cmJzID0gNDA5NjsKCiAgICAvLyBGaW5kIHRoZSBk cml2ZXIKICAgIHN0cnVjdCBEZXZpY2UgKmRldmljZSA9IE5VTEw7CiAgICBmb3IgKGludCBpID0g MDsgZGV2aWNlc1tpXS5kcml2ZXI7ICsraSkgewogICAgICAgIGlmIChzdHJjbXAoZGV2aWNlc1tp XS5kcml2ZXIsIGRyaXZlcikgPT0gMCkgewogICAgICAgICAgICBkZXZpY2UgPSAmZGV2aWNlc1tp XTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChkZXZpY2UgPT0g TlVMTCkgewogICAgICAgIHByaW50ZigiZXJyb3I6IGRyaXZlciAlcyBub3QgZm91bmRcbiIsIGRy aXZlcik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgLy8gUmVtb3ZlIHRoZSBkcml2ZXIK ICAgIGNoYXIgY21kWzEwMjRdOwogICAgc3ByaW50ZihjbWQsICJsc21vZCB8IGdyZXAgJXMgLXEg JiYgcm1tb2QgJXMiLCBkcml2ZXIsIGRyaXZlcik7CiAgICBzeXN0ZW0oY21kKTsKCiAgICAvLyBH ZXQgdGhlIGRlYnVnIHBhdGgKICAgIGNoYXIgZGVidWdbMjU2XSA9IHsgfTsKCiAgICBzcHJpbnRm KAogICAgICAgIGNtZCwKICAgICAgICAiZmluZCAvc3lzL2tlcm5lbC9kZWJ1Zy91c2IveGhjaSAt bmFtZSAnbmFtZScgfCAiCiAgICAgICAgIndoaWxlIElGUz0gcmVhZCAtciBsaW5lOyBkbyAiCiAg ICAgICAgImRpcj0kKGRpcm5hbWUgJGxpbmUpOyAiCiAgICAgICAgInN5cz0vc3lzL2J1cy91c2Iv ZGV2aWNlcy8kKGNhdCAkZGlyL25hbWUpOyAiCiAgICAgICAgImdyZXAgLXEgJ14lZCQnICRzeXMv YnVzbnVtICYmICIKICAgICAgICAiZ3JlcCAtcSAnXiVkJCcgJHN5cy9kZXZudW0gJiYgIgogICAg ICAgICJlY2hvICRkaXI7ICIKICAgICAgICAiZG9uZSIsCiAgICAgICAgYnVzLCBkZXYKICAgICk7 CgogICAgRklMRSAqZnAgPSBwb3BlbihjbWQsICJyIik7CiAgICBjaGFyICpwID0gZmdldHMoZGVi dWcsIHNpemVvZihkZWJ1ZyksIGZwKTsKICAgIHBjbG9zZShmcCk7CgogICAgaWYgKHAgPT0gTlVM TCkgewogICAgICAgIHByaW50ZigiZXJyb3I6IGRlYnVnIHBhdGggbm90IGZvdW5kXG4iKTsKICAg ICAgICByZXR1cm4gMTsKICAgIH0KCiAgICBkZWJ1Z1tzdHJsZW4oZGVidWcpLTFdID0gJ1wwJzsK CiAgICAvLyBQcmludCB0aGUgbnVtYmVyIG9mIFRSQnMKICAgIHByaW50ZigiQmVmb3JlIFVSQiBz dWJtaXNzaW9uOlxuIik7CiAgICBzcHJpbnRmKGNtZCwgIndjIC1sICVzLyVzL3RyYnMiLCBkZWJ1 ZywgZGV2aWNlLT5lcF9kZWJ1Zyk7CiAgICBzeXN0ZW0oY21kKTsKICAgIHByaW50ZigiXG4iKTsK CiAgICAvLyBPcGVuIHRoZSBkZXZpY2UKICAgIGNoYXIgcGF0aFsyNTZdOwogICAgc3ByaW50Zihw YXRoLCAiL2Rldi9idXMvdXNiLyUwM2QvJTAzZCIsIGJ1cywgZGV2KTsKCiAgICBpbnQgZmQgPSBv cGVuKHBhdGgsIE9fUkRXUik7CiAgICBpZiAoZmQgPCAwKQogICAgICAgIHJldHVybiAxOwoKICAg IGludCByYzsKCiAgICBpbnQgY2ZnID0gMTsKICAgIHJjID0gaW9jdGwoZmQsIFVTQkRFVkZTX1NF VENPTkZJR1VSQVRJT04sICZjZmcpOwogICAgaWYgKHJjIDwgMCAmJiBlcnJubyAhPSBFQlVTWSkg ewogICAgICAgIHByaW50ZigiZXJyb3I6IHVuYWJsZSB0byBzZXQgY29uZmlndXJhdGlvblxuIik7 CiAgICAgICAgY2xvc2UoZmQpOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIGludCBpZmNl ID0gMDsKICAgIHJjID0gaW9jdGwoZmQsIFVTQkRFVkZTX0NMQUlNSU5URVJGQUNFLCAmaWZjZSk7 CiAgICBpZiAocmMgPCAwKSB7CiAgICAgICAgcHJpbnRmKCJlcnJvcjogdW5hYmxlIHRvIGNsYWlt IGludGVyZmFjZVxuIik7CiAgICAgICAgY2xvc2UoZmQpOwogICAgICAgIHJldHVybiAxOwogICAg fQoKICAgIC8vIFN1Ym1pdCBVUkJzCiAgICBwcmludGYoIlN1Ym1pdHRpbmcgJWQgVVJCc1xuXG4i LCBudW1fdXJicyk7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fdXJiczsgKytpKSB7CiAg ICAgICAgc3RydWN0IHVzYmRldmZzX3VyYiAqaW9jdGxfdXJiID0gY2FsbG9jKDEsIHNpemVvZigq aW9jdGxfdXJiKSk7CgogICAgICAgIGlvY3RsX3VyYi0+dHlwZSAgICAgICAgICA9IFVTQkRFVkZT X1VSQl9UWVBFX0JVTEs7CiAgICAgICAgaW9jdGxfdXJiLT5lbmRwb2ludCAgICAgID0gZGV2aWNl LT5lcDsKICAgICAgICBpb2N0bF91cmItPmJ1ZmZlciAgICAgICAgPSBjYWxsb2MoMSwgVVJCX1NJ WkUpOwogICAgICAgIGlvY3RsX3VyYi0+YnVmZmVyX2xlbmd0aCA9IFVSQl9TSVpFOwoKICAgICAg ICByYyA9IGlvY3RsKGZkLCBVU0JERVZGU19TVUJNSVRVUkIsIGlvY3RsX3VyYik7CiAgICAgICAg aWYgKHJjIDwgMCkgewogICAgICAgICAgICBwcmludGYoImVycm9yOiBjb3VsZCBub3Qgc3VibWl0 IHVyYiAjJWRcbiIsIGkpOwogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICB9Cgog ICAgLy8gUHJpbnQgdGhlIG51bWJlciBvZiBUUkJzCiAgICBwcmludGYoIkFmdGVyIFVSQiBzdWJt aXNzaW9uOlxuIik7CiAgICBzeXN0ZW0oY21kKTsKICAgIHByaW50ZigiXG4iKTsKCiAgICAvLyBD bG9zZSB0aGUgZGV2aWNlCiAgICBjbG9zZShmZCk7CiAgICByZXR1cm4gMDsKfQo= ------=_Part_833958_1937603355.1709339266737--