In message <20070920214447.GB8496@xxxxxxxxxxxxxxxxxxxxxx>, Michael Halcrow writes: > On Wed, Sep 19, 2007 at 10:46:26PM -0700, Andrew Morton wrote: > (from ecryptfs_encrypt_page()): > > > + enc_extent_virt = kmalloc(PAGE_CACHE_SIZE, GFP_USER); > > > > I'd have thought that alloc_page() would be nicer. After all, we _are_ > > treating it as a page, and not as a random piece of memry. > > > > > + if (!enc_extent_virt) { > > > + rc = -ENOMEM; > > > + ecryptfs_printk(KERN_ERR, "Error allocating memory for " > > > + "encrypted extent\n"); > > > + goto out; > > > + } > > > + enc_extent_page = virt_to_page(enc_extent_virt); > > > > And then we don't need this. > > If neither kmap() nor kmap_atomic() can be safely used to get a > virtual address to pass to vfs_write(), then I do not know what my > other options are here. kmap_atomic is intended for short-lived code sections, where you may not sleep, so you can't do a vfs_read/write in b/t kmap/kunmap_atomic. Erez. - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html