Skip to content

nvme-print: revert outer loop bound change in json_nvme_fdp_configs() - #3778

Merged
igaw merged 1 commit into
linux-nvme:masterfrom
sahmed-ibm:revert-nvme-print-json-tainted-scalar
Aug 10, 2026
Merged

nvme-print: revert outer loop bound change in json_nvme_fdp_configs()#3778
igaw merged 1 commit into
linux-nvme:masterfrom
sahmed-ibm:revert-nvme-print-json-tainted-scalar

Conversation

@sahmed-ibm

Copy link
Copy Markdown
Contributor

Per NVMe spec section "5.2.12.1.29 Flexible Data Placement (FDP) Configurations (Log Page Identifier 20h)", the log->n field is a 0-based value. A value of 0 means one configuration, a value of 1 means two configurations, and so on. Therefore the loop must iterate n + 1 times to cover all configurations reported by the device.

The earlier change to use i < n was incorrect and is reverted here. The Coverity TAINTED_SCALAR report on this loop bound is a false positive: the loop bound i < n + 1 is correct per spec.

Fixes: a7bf8a9 ("nvme-print: fix untrusted loop bounds in json_nvme_fdp_configs()")

Partially reverts #3727

Per NVMe spec section "5.2.12.1.29 Flexible Data Placement (FDP)
Configurations (Log Page Identifier 20h)", the @log->n field is a
0-based value. A value of 0 means one configuration, a value of 1
means two configurations, and so on. Therefore the loop must iterate
n + 1 times to cover all configurations reported by the device.

The earlier change to use i < n was incorrect and is reverted here.
The Coverity TAINTED_SCALAR report on this loop bound is a false
positive: the loop bound i < n + 1 is correct per spec.

Fixes: a7bf8a9 ("nvme-print: fix untrusted loop bounds in json_nvme_fdp_configs()")
Signed-off-by: Sarah Ahmed <sarah.ahmed@ibm.com>
@igaw

igaw commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Och, those 0-based indexes should have been banned in the spec. Thanks for checking after me :)

@igaw
igaw merged commit 9345342 into linux-nvme:master Aug 10, 2026
32 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants