Project

General

Profile

Actions

Bug #3020

closed

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

Added by dcb almost 7 years ago. Updated over 6 years ago.

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

0%

Estimated time:

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.


Files

Actions #1

Updated by lubos over 6 years ago

  • File 0001-Avoid-checking-negativeness-of-unsigned-variable.patch added
  • Category set to Driver

Proposing patch.

--

Lubos Boucek

Actions #3

Updated by lubos over 6 years ago

  • File deleted (0001-Avoid-checking-negativeness-of-unsigned-variable.patch)
Actions #4

Updated by lubos over 6 years ago

Fixed by Matthew Dillon (b9045046a56b099b2d7d82f1d1bb3dfd7aa1699d).

This report can be closed now.

Actions #5

Updated by swildner over 6 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF