Skip to content

Commit bd3bfd4

Browse files
committed
test: mi: Provide a full request buffer for invalid admin req tests
We're issuing an admin command with up to four bytes of data in the request. Although these will all fail due to invalid args, we still want to provide enough data to simulate the full request. Signed-off-by: Jeremy Kerr <[email protected]>
1 parent 054215f commit bd3bfd4

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

test/mi.c

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -575,8 +575,11 @@ static int test_admin_invalid_formats_cb(struct nvme_mi_ep *ep,
575575

576576
static void test_admin_invalid_formats(nvme_mi_ep_t ep)
577577
{
578+
struct {
579+
struct nvme_mi_admin_req_hdr hdr;
580+
uint8_t data[4];
581+
} req = { 0 };
578582
struct nvme_mi_admin_resp_hdr resp = { 0 };
579-
struct nvme_mi_admin_req_hdr req = { 0 };
580583
nvme_mi_ctrl_t ctrl;
581584
size_t len;
582585
int rc;
@@ -588,37 +591,37 @@ static void test_admin_invalid_formats(nvme_mi_ep_t ep)
588591

589592
/* unaligned req size */
590593
len = 0;
591-
rc = nvme_mi_admin_xfer(ctrl, &req, 1, &resp, 0, &len);
594+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 1, &resp, 0, &len);
592595
assert(rc != 0);
593596

594597
/* unaligned resp size */
595598
len = 1;
596-
rc = nvme_mi_admin_xfer(ctrl, &req, 0, &resp, 0, &len);
599+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 0, &resp, 0, &len);
597600
assert(rc != 0);
598601

599602
/* unaligned resp offset */
600603
len = 4;
601-
rc = nvme_mi_admin_xfer(ctrl, &req, 0, &resp, 1, &len);
604+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 0, &resp, 1, &len);
602605
assert(rc != 0);
603606

604607
/* resp too large */
605608
len = 4096 + 4;
606-
rc = nvme_mi_admin_xfer(ctrl, &req, 0, &resp, 0, &len);
609+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 0, &resp, 0, &len);
607610
assert(rc != 0);
608611

609612
/* resp offset too large */
610613
len = 4;
611-
rc = nvme_mi_admin_xfer(ctrl, &req, 0, &resp, (off_t)1 << 32, &len);
614+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 0, &resp, (off_t)1 << 32, &len);
612615
assert(rc != 0);
613616

614617
/* resp offset with no len */
615618
len = 0;
616-
rc = nvme_mi_admin_xfer(ctrl, &req, 0, &resp, 4, &len);
619+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 0, &resp, 4, &len);
617620
assert(rc != 0);
618621

619622
/* req and resp payloads */
620623
len = 4;
621-
rc = nvme_mi_admin_xfer(ctrl, &req, 4, &resp, 0, &len);
624+
rc = nvme_mi_admin_xfer(ctrl, &req.hdr, 4, &resp, 0, &len);
622625
assert(rc != 0);
623626
}
624627

0 commit comments

Comments
 (0)