Project

General

Profile

Bug #3020

sys/dev/disk/nvme/nvme_admin.c: non terminating loop and poor error checking ?

Added by dcb 6 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
04/11/2017
Due date:
% Done:

0%


Description

1.

dragonfly/sys/dev/disk/nvme/nvme_admin.c:578]: (style) Unsigned variable 'j' cannot be negative so it is unnecessary to test it.

for (j = NVME_MAX_NAMESPACES - 1; j >= 0; --j) {

but

uint32_t j;

2. dragonfly/sys/dev/disk/nvme/nvme_admin.c:584]: (style) Checking if unsigned variable 'j' is less than zero.

Source code is

if (j < 0) {
device_printf(sc->dev, "not enough room in nscary for "
"namespace %08x\n", rp->nsids[i]);
nvme_put_request(req);
continue;
}

I can't think of any scenario where this code would be executed.

Also available in: Atom PDF