Skip to content

Commit

Permalink
p9fs: move NULL check immediately after allocation
Browse files Browse the repository at this point in the history
Reported by:	Shawn Webb (HardenedBSD)
Reviewed by:	dfr
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45719
  • Loading branch information
emaste committed Jun 24, 2024
1 parent 012e32c commit 1efd69f
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions sys/dev/virtio/p9fs/virtio_p9fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,11 @@ vt9p_attach(device_t dev)
cv_init(&chan->submit_cv, "Conditional variable for submit queue" );
chan->max_nsegs = MAX_SUPPORTED_SGS;
chan->vt9p_sglist = sglist_alloc(chan->max_nsegs, M_NOWAIT);
if (chan->vt9p_sglist == NULL) {
error = ENOMEM;
P9_DEBUG(ERROR, "%s: Cannot allocate sglist\n", __func__);
goto out;
}

/* Negotiate the features from the host */
virtio_set_feature_desc(dev, virtio_9p_feature_desc);
Expand Down Expand Up @@ -367,12 +372,6 @@ vt9p_attach(device_t dev)
SYSCTL_ADD_STRING(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "p9fs_mount_tag",
CTLFLAG_RD, chan->mount_tag, 0, "Mount tag");

if (chan->vt9p_sglist == NULL) {
error = ENOMEM;
P9_DEBUG(ERROR, "%s: Cannot allocate sglist\n", __func__);
goto out;
}

/* We expect one virtqueue, for requests. */
error = vt9p_alloc_virtqueue(chan);

Expand Down

0 comments on commit 1efd69f

Please sign in to comment.