last_page = virt_to_page(buf + (1 << pg)); 
last_page = page + (1 << pg); 
static void* busmaster_malloc(int size) {     int pg; /* 2 s exponent of memory size */        char *buf;        DBG(printk("kernel malloc pages ..\n"));                for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++);        buf = (char *) __get_free_pages(GFP_KERNEL | GFP_DMA, pg);        if (buf) {                struct page* page, *last_page;                page = virt_to_page(buf);                last_page = virt_to_page(buf + (1 << pg));                DBG(printk("setting reserved bit\n"));                while (page < last_page) {			SetPageReserved(page);                        page++;                }		return buf;        }	DBG(printk("allocated %ld",(long)buf));	return NULL;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7c2f3fda5666c280bcd00ac3b86963270b23e796/rme96xx.c/clean/sound/oss/rme96xx.c