From nobody Thu Aug 17 14:07:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RRRfB4mhtz4qhy6; Thu, 17 Aug 2023 14:07:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RRRfB4GJJz4mj8; Thu, 17 Aug 2023 14:07:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692281250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qXp4KN7qg6duBg5nf+VSqN14PHHq3MNkjfbwPLZUnXk=; b=HSqokwdMzdHLPKir5lSPV+/LyUCXX9clO8KTzEAWClHiys92KHVDo6NFUInC5lE3Ayi0o2 mh/qPZDKSFgidn7EkMVwnkN5oeW/jj05DIlRvNwrzGPRsTNO1gGRQ5+3v7zqk6/4OaT7IN YTmr/NqdsiwEbEp0xa5l6Pn6gtfYRnuy8mPgYXtTy8igXdoHkX2gZ/kU3NnjMg1uVMnfS9 bsm1u/oX41ypn6QWdx681pWczCk54qRDq5qJdqc/keFWc4DxglRG5M5/5WFcTBBEI4T4OC JDypnEYjGw3mQy5DEZHsWbRk+j9n3n9cAjAH+l76LgsJrzcwLN7n33r7bIlfqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1692281250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qXp4KN7qg6duBg5nf+VSqN14PHHq3MNkjfbwPLZUnXk=; b=IUYjhIAX9iFY01J2n1kud5LdMwRlg56uPhto036VzAiQOFJKSzZRK/jlZY2nQzYFXR9B1K P5FfVcQQ2kOped95ugDcTNO5nYsDIDa58XVbSMJ1AA2JKd4hRwbQ7zKWWmKSo32b3DLq0T J4wqB4FUu1f4h0wR2gLPwVTBDyg9oWg6m3uW05sPBrIcVHpvzWQjiBf4mNZG14Xn3zwkGV DkZ1HM9zZiISHSN9JzYh3f1JsYx7fPdLrOzbYbnVGoDqz0Vk7SqKx4tgHPGc/HqybqMWjo R3SbAAj+myBDITiM7YEbYZYVTZeS6UndJ/LcIfhYaPkMgpINLAidQQwlS1bnQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1692281250; a=rsa-sha256; cv=none; b=pXD+RqAWpX78a+L/VESY20lKFWcfvWaUQB596qrb1p4iZOAO8PFV38znYP862g+HfXG3EE d0HIpTg7Rzp6UAAojPKadJO0XX9hWwSSX/u6F6EOKFCfNBvjVPra0ww0qM0zb6eJxildSz Gf4NmgHXcAV16y2b5W56ZHc9gbeIaj12kJKUuTZAzETlhiwIRm5VxDQxv66eGp4G/Wyra5 5fFJrTxb21nH7or4rf+5Oh9+r8XcPweoL2MGjN/iwV2eh+H1+qCyav3jO/K/8kV3Ko8CvH 1ShpHuVmNnv4fcrFPNlbvu0cdL53421UBgVfdO2D2P8MhbYcAEGddKR6xK6vaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RRRfB3K4Vzclw; Thu, 17 Aug 2023 14:07:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37HE7U98097159; Thu, 17 Aug 2023 14:07:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37HE7Uil097156; Thu, 17 Aug 2023 14:07:30 GMT (envelope-from git) Date: Thu, 17 Aug 2023 14:07:30 GMT Message-Id: <202308171407.37HE7Uil097156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 044dfb356bb6 - stable/13 - msi: report error for attempt to use APIC ID > 255 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 044dfb356bb6481af4de4ed0f7ef04c3b638bf71 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=044dfb356bb6481af4de4ed0f7ef04c3b638bf71 commit 044dfb356bb6481af4de4ed0f7ef04c3b638bf71 Author: Ed Maste AuthorDate: 2023-08-08 23:42:09 +0000 Commit: Ed Maste CommitDate: 2023-08-17 14:06:39 +0000 msi: report error for attempt to use APIC ID > 255 The MSI/MSI-X address includes 8 bits to encode the Destination ID. Previously IDs over 255 overlapped with the fixed portion of the address, resulting in an invalid value (and a nonfunctional interrupt). Instead, print an error message and return EINVAL. The interrupt will still not work, but the user will have a clue as to why. PR: 273022 Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41395 (cherry picked from commit cbf845052f1c2862a64e66dbaf38e887a7592474) --- sys/x86/x86/msi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/x86/x86/msi.c b/sys/x86/x86/msi.c index f85d4a5161e5..de8f42c0fa68 100644 --- a/sys/x86/x86/msi.c +++ b/sys/x86/x86/msi.c @@ -620,6 +620,11 @@ msi_map(int irq, uint64_t *addr, uint32_t *data) mtx_unlock(&msi_lock); error = EOPNOTSUPP; #endif + if (error == EOPNOTSUPP && msi->msi_cpu > 0xff) { + printf("%s: unsupported destination APIC ID %u\n", __func__, + msi->msi_cpu); + error = EINVAL; + } if (error == EOPNOTSUPP) { *addr = INTEL_ADDR(msi); *data = INTEL_DATA(msi);