p9fs: move NULL check immediately after allocation

Reported by:	Shawn Webb (HardenedBSD)
Reviewed by:	dfr
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45719
This commit is contained in:
Ed Maste 2024-06-24 12:21:19 -04:00
parent 012e32c665
commit 1efd69f933

View file

@ -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);
@ -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);