freebsd-dev/sys/dev/virtio
Konstantin Belousov c325e866f4 Different consumers of the struct vm_page abuse pageq member to keep
additional information, when the page is guaranteed to not belong to a
paging queue.  Usually, this results in a lot of type casts which make
reasoning about the code correctness harder.

Sometimes m->object is used instead of pageq, which could cause real
and confusing bugs if non-NULL m->object is leaked.  See r141955 and
r253140 for examples.

Change the pageq member into a union containing explicitly-typed
members.  Use them instead of type-punning or abusing m->object in x86
pmaps, uma and vm_page_alloc_contig().

Requested and reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
2013-08-10 17:36:42 +00:00
..
balloon Different consumers of the struct vm_page abuse pageq member to keep 2013-08-10 17:36:42 +00:00
block Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
network Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
pci Merge virtio_pci changes from projects/virtio 2013-07-04 17:59:09 +00:00
scsi Merge virtio_scsi change from projects/virtio 2013-07-04 18:00:27 +00:00
virtio_bus_if.m Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
virtio_if.m Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
virtio_ring.h Various VirtIO improvements 2012-07-11 02:57:19 +00:00
virtio.c Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
virtio.h Merge virtio_pci changes from projects/virtio 2013-07-04 17:59:09 +00:00
virtqueue.c Merge virtio_pci changes from projects/virtio 2013-07-04 17:59:09 +00:00
virtqueue.h Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00