* Liang Li (liang.z...@intel.com) wrote: <snip>
> +static void free_extended_page_bitmap(struct virtio_balloon *vb) > +{ > + int i, bmap_count = vb->nr_page_bmap; > + > + for (i = 1; i < bmap_count; i++) { > + kfree(vb->page_bitmap[i]); > + vb->page_bitmap[i] = NULL; > + vb->nr_page_bmap--; > + } > +} > + > +static void kfree_page_bitmap(struct virtio_balloon *vb) > +{ > + int i; > + > + for (i = 0; i < vb->nr_page_bmap; i++) > + kfree(vb->page_bitmap[i]); > +} It might be worth commenting that pair of functions to make it clear why they are so different; I guess the kfree_page_bitmap is used just before you free the structure above it so you don't need to keep the count/pointers updated? Dave -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK