diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 18:44:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-25 18:44:54 -0400 |
commit | 7f1495745347bc2cb9cc4f50d0a889caeb71f1f1 (patch) | |
tree | 2402b7e52fec57cdbf16d52e5fb467044589ec31 /fs | |
parent | 2c7505570353af02e48c58ab4d109edd9bbbdd81 (diff) | |
parent | 85cdffcde0b6b831a06422413300d0f5c0e608c3 (diff) |
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
* 'sg' of git://git.kernel.dk/linux-2.6-block:
fix sg_phys to use dma_addr_t
ub: add sg_init_table for sense and read capacity commands
x86: pci-gart fix
blackfin: fix sg fallout
xtensa: dma-mapping.h is using linux/scatterlist.h functions, so include it
SG: audit of drivers that use blk_rq_map_sg()
arch/um/drivers/ubd_kern.c: fix a building error
SG: Change sg_set_page() to take length and offset argument
AVR32: Fix sg_page breakage
mmc: sg fallout
m68k: sg fallout
More SG build fixes
sg: add missing sg_init_table calls to zfcp
SG build fix
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ecryptfs/crypto.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 0a9882edf562..7a472b129997 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
@@ -282,10 +282,8 @@ int virt_to_scatterlist(const void *addr, int size, struct scatterlist *sg, | |||
282 | while (size > 0 && i < sg_size) { | 282 | while (size > 0 && i < sg_size) { |
283 | pg = virt_to_page(addr); | 283 | pg = virt_to_page(addr); |
284 | offset = offset_in_page(addr); | 284 | offset = offset_in_page(addr); |
285 | if (sg) { | 285 | if (sg) |
286 | sg_set_page(&sg[i], pg); | 286 | sg_set_page(&sg[i], pg, 0, offset); |
287 | sg[i].offset = offset; | ||
288 | } | ||
289 | remainder_of_page = PAGE_CACHE_SIZE - offset; | 287 | remainder_of_page = PAGE_CACHE_SIZE - offset; |
290 | if (size >= remainder_of_page) { | 288 | if (size >= remainder_of_page) { |
291 | if (sg) | 289 | if (sg) |
@@ -716,12 +714,8 @@ ecryptfs_encrypt_page_offset(struct ecryptfs_crypt_stat *crypt_stat, | |||
716 | sg_init_table(&src_sg, 1); | 714 | sg_init_table(&src_sg, 1); |
717 | sg_init_table(&dst_sg, 1); | 715 | sg_init_table(&dst_sg, 1); |
718 | 716 | ||
719 | sg_set_page(&src_sg, src_page); | 717 | sg_set_page(&src_sg, src_page, size, src_offset); |
720 | src_sg.offset = src_offset; | 718 | sg_set_page(&dst_sg, dst_page, size, dst_offset); |
721 | src_sg.length = size; | ||
722 | sg_set_page(&dst_sg, dst_page); | ||
723 | dst_sg.offset = dst_offset; | ||
724 | dst_sg.length = size; | ||
725 | return encrypt_scatterlist(crypt_stat, &dst_sg, &src_sg, size, iv); | 719 | return encrypt_scatterlist(crypt_stat, &dst_sg, &src_sg, size, iv); |
726 | } | 720 | } |
727 | 721 | ||
@@ -746,14 +740,11 @@ ecryptfs_decrypt_page_offset(struct ecryptfs_crypt_stat *crypt_stat, | |||
746 | struct scatterlist src_sg, dst_sg; | 740 | struct scatterlist src_sg, dst_sg; |
747 | 741 | ||
748 | sg_init_table(&src_sg, 1); | 742 | sg_init_table(&src_sg, 1); |
743 | sg_set_page(&src_sg, src_page, size, src_offset); | ||
744 | |||
749 | sg_init_table(&dst_sg, 1); | 745 | sg_init_table(&dst_sg, 1); |
746 | sg_set_page(&dst_sg, dst_page, size, dst_offset); | ||
750 | 747 | ||
751 | sg_set_page(&src_sg, src_page); | ||
752 | src_sg.offset = src_offset; | ||
753 | src_sg.length = size; | ||
754 | sg_set_page(&dst_sg, dst_page); | ||
755 | dst_sg.offset = dst_offset; | ||
756 | dst_sg.length = size; | ||
757 | return decrypt_scatterlist(crypt_stat, &dst_sg, &src_sg, size, iv); | 748 | return decrypt_scatterlist(crypt_stat, &dst_sg, &src_sg, size, iv); |
758 | } | 749 | } |
759 | 750 | ||