--- islenefs-v1.c 2008-04-28 19:44:32.000000000 -0300 +++ islenefs.c 2008-04-28 19:45:35.000000000 -0300 @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -132,6 +133,8 @@ static int islenefs_create (struct inode { struct inode *inode; struct file_contents *file = kmalloc(sizeof(*file), GFP_KERNEL); + struct page *page; + if (!file) return -EAGAIN; @@ -148,10 +151,11 @@ static int islenefs_create (struct inode inode->i_fop = &islenefs_file_operations; file->inode = inode; - file->conts = alloc_page(GFP_KERNEL); - if (!file->conts) + page = alloc_page(GFP_KERNEL); + if (!page) goto cleanup; + file->conts = page_address(page); INIT_LIST_HEAD(&file->list); list_add_tail(&contents_list, &file->list); d_add(dentry, inode);