diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-21 14:03:58 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-21 16:40:01 +0200 |
commit | e7828004e40592c8cffc9235f72440c802905e16 (patch) | |
tree | c46f4aba9a4f1e8014492cd835fce81d7e07017e /cryptodev_main.c | |
parent | 56eb45f752baa978a9ea3573faee44857678597d (diff) | |
download | cryptodev-linux-e7828004e40592c8cffc9235f72440c802905e16.tar.gz cryptodev-linux-e7828004e40592c8cffc9235f72440c802905e16.tar.xz cryptodev-linux-e7828004e40592c8cffc9235f72440c802905e16.zip |
initial support for userspace data.
Diffstat (limited to 'cryptodev_main.c')
-rw-r--r-- | cryptodev_main.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/cryptodev_main.c b/cryptodev_main.c index 21642e6..2390f78 100644 --- a/cryptodev_main.c +++ b/cryptodev_main.c @@ -493,7 +493,7 @@ __crypto_run_std(struct csession *ses_ptr, struct crypt_op *cop) #ifndef DISABLE_ZCOPY -static void release_user_pages(struct page **pg, int pagecount) +void release_user_pages(struct page **pg, int pagecount) { while (pagecount--) { if (!PageReserved(pg[pagecount])) @@ -502,16 +502,11 @@ static void release_user_pages(struct page **pg, int pagecount) } } -/* last page - first page + 1 */ -#define PAGECOUNT(buf, buflen) \ - ((((unsigned long)(buf + buflen - 1) & PAGE_MASK) >> PAGE_SHIFT) - \ - (((unsigned long) buf & PAGE_MASK) >> PAGE_SHIFT) + 1) - /* offset of buf in it's first page */ #define PAGEOFFSET(buf) ((unsigned long)buf & ~PAGE_MASK) /* fetch the pages addr resides in into pg and initialise sg with them */ -static int __get_userbuf(uint8_t *addr, uint32_t len, int write, +int __get_userbuf(uint8_t *addr, uint32_t len, int write, int pgcount, struct page **pg, struct scatterlist *sg) { int ret, pglen, i = 0; |