From nobody Sun Sep 13 19:54:33 2026 X-Original-To: dev-commits-src-main@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 4hjfBK5Fb2z6sScf for ; Sun, 13 Sep 2026 19:54:33 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hjfBK3wf9z4Bnq for ; Sun, 13 Sep 2026 19:54:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789329273; 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=aOG9B9o3kDKTesDLiakRp9O2XSRwmnWf7hZeSbycqgM=; b=eXanmH/Yhn3eIVDVpCL2l3D9VSiIBUjqomNj9Uxu97izcJ/eyjTe9oosADl7zfiYWp5x10 lgyznTvIJcNMXymX3xlYqqY5icboFgkW7ZbeeGis9xObx2UVtvMwS1kBXQ3pq6FsvwzENN TT+7nNBzPqNSxUiHdfNN81uKOZN/MD2PVkABIQoXqpDoI62a4ORORbzIaV6RuSMzzQl5Tz 1/92odfwDuAm1XAgE5xvUn3PtMXnLhzZwPmZqo0bclBjhVhqGN//p0+UAN/n9eRAo4Gh0V 1nhPzz7DHKF7pU9/XCpNWZSc3LP2loU69fqRAGmxU2/kLdNtdA4Ia/QnVh1KxQ== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789329273; b=D97PWjjVt/ekJQjIL+Wpt0OC5NFBH9LhNsirnua35T8h1XglVFLM8J0z3WM58HGQ/o1Hwc P1Ft1c6ImMsKoBwQMXIPnJfK0g0bkHOLCELRFmXyUoREpOwJW8qI21MVIoo0fe+B12OWwK WQL9ipZLgSEN3RHSbNDGvI51vhbjFgMHCG0dchUT3+JJymDyHwVT26kZ07n+kdTYmrpuhN vDagbVn7rXNI7NJ1tQ+oUGnRiv4JF48Fkw58UcDhoXzjmtZ8fy2S4yyIAE++Ohrqf5ZGF0 ov+tiefuHDh4j634YlyOwVKFmPuGuqP+po/cX9BElK/0Yaxk/VL567zgWpvUAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789329273; 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=aOG9B9o3kDKTesDLiakRp9O2XSRwmnWf7hZeSbycqgM=; b=C9YRCoTvJ3xoWxUgFKQsRQ5CJ1n36u2YJRdUJxKOPI+gBMs4pF9Q2h5lLqmwori5JiHgXI ZHftB40/2iK20WLiy/mYFx15BIp/UUDiSzXGtq1L0VvCNfHEtZMx1UgwzcPB2GVbP/6yFi W8xCL7wGYJW7Nvw07szvbC6UsWzapFrQ6C+DHMgKyt7cCaNner202ElcgHlrMYKsZPRGks qUvpAFhPW4E6Vl0DvgunTE4pdl5AJNd/RDHK8Vjh4VwGOsBgvmC0tMOOxsfIOB/AFr+wM2 x4Egj7IYkUDF66YCJt0cBql/qAMpu4U0UbDdyAVq85hc7QxVvgPSFMXhcpM7tA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hjfBK27K8zxKW for ; Sun, 13 Sep 2026 19:54:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 236f5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 13 Sep 2026 19:54:33 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Abdelkader Boudih Subject: git: 416611f05cc4 - main - nvme: reject namespaces formatted with metadata List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: seuros X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 416611f05cc4fc431a6f9f40fcc40171e846e8fe Auto-Submitted: auto-generated Date: Sun, 13 Sep 2026 19:54:33 +0000 Message-Id: <6aa6ff79.236f5.493f1aca@gitrepo.freebsd.org> The branch main has been updated by seuros: URL: https://cgit.FreeBSD.org/src/commit/?id=416611f05cc4fc431a6f9f40fcc40171e846e8fe commit 416611f05cc4fc431a6f9f40fcc40171e846e8fe Author: Abdelkader Boudih AuthorDate: 2026-09-13 19:54:00 +0000 Commit: Abdelkader Boudih CommitDate: 2026-09-13 19:54:00 +0000 nvme: reject namespaces formatted with metadata The active LBA format's MS field was never examined. I/O to a metadata-formatted namespace carries neither interleaved metadata nor MPTR, so every command is malformed, yet the namespace attaches as a disk with the wrong sector size. Reviewed by: imp, adrian Differential Revision: https://reviews.freebsd.org/D59625 --- sys/cam/nvme/nvme_da.c | 9 +++++++++ sys/dev/nvme/nvme_ns.c | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c index de1253c78fed..31bb7c4b7d3c 100644 --- a/sys/cam/nvme/nvme_da.c +++ b/sys/cam/nvme/nvme_da.c @@ -954,12 +954,21 @@ ndaregister(struct cam_periph *periph, void *arg) const struct nvme_namespace_data *nsd; const struct nvme_controller_data *cd; char announce_buf[80]; + uint32_t ms; u_int maxio; int quirks; nsd = nvme_get_identify_ns(periph); cd = nvme_get_identify_cntrl(periph); + ms = NVMEV(NVME_NS_DATA_LBAF_MS, + nsd->lbaf[NVMEV(NVME_NS_DATA_FLBAS_FORMAT, nsd->flbas)]); + if (ms != 0) { + xpt_print(periph->path, + "lba format has %u-byte metadata, unsupported\n", ms); + return (CAM_REQ_CMP_ERR); + } + softc = (struct nda_softc *)malloc(sizeof(*softc), M_DEVBUF, M_NOWAIT | M_ZERO); diff --git a/sys/dev/nvme/nvme_ns.c b/sys/dev/nvme/nvme_ns.c index 0082d5cb6299..f52e75bfa243 100644 --- a/sys/dev/nvme/nvme_ns.c +++ b/sys/dev/nvme/nvme_ns.c @@ -523,6 +523,7 @@ nvme_ns_construct(struct nvme_namespace *ns, uint32_t id, struct nvme_completion_poll_status status; int res; int unit; + uint32_t ms; uint8_t flbas_fmt; uint8_t vwc_present; @@ -574,6 +575,14 @@ nvme_ns_construct(struct nvme_namespace *ns, uint32_t id, return (ENXIO); } + ms = NVMEV(NVME_NS_DATA_LBAF_MS, ns->data.lbaf[flbas_fmt]); + if (ms != 0) { + nvme_printf(ctrlr, + "nsid %d lba format %d has %u-byte metadata, unsupported\n", + id, flbas_fmt, ms); + return (ENXIO); + } + /* * Older Intel devices (like the PC35xxx and P45xx series) advertise in * vendor specific space an alignment that improves performance. If