View | Details | Raw Unified | Return to bug 253175 | Differences between
and this patch

Collapse All | Expand All

(-)sys/dev/virtio/random/virtio_random.c (+5 lines)
Lines 223-228 vtrnd_alloc_virtqueue(struct vtrnd_softc *sc) Link Here
223
	return (virtio_alloc_virtqueues(dev, 0, 1, &vq_info));
223
	return (virtio_alloc_virtqueues(dev, 0, 1, &vq_info));
224
}
224
}
225
225
226
extern int rebooting;
227
226
static int
228
static int
227
vtrnd_harvest(struct vtrnd_softc *sc, void *buf, size_t *sz)
229
vtrnd_harvest(struct vtrnd_softc *sc, void *buf, size_t *sz)
228
{
230
{
Lines 232-237 vtrnd_harvest(struct vtrnd_softc *sc, void *buf, size_ Link Here
232
	uint32_t value[HARVESTSIZE] __aligned(sizeof(uint32_t) * HARVESTSIZE);
234
	uint32_t value[HARVESTSIZE] __aligned(sizeof(uint32_t) * HARVESTSIZE);
233
	uint32_t rdlen;
235
	uint32_t rdlen;
234
	int error;
236
	int error;
237
238
	if (rebooting)
239
		return (EDEADLK);
235
240
236
	_Static_assert(sizeof(value) < PAGE_SIZE, "sglist assumption");
241
	_Static_assert(sizeof(value) < PAGE_SIZE, "sglist assumption");
237
242

Return to bug 253175