diff options
| author | Linus Torvalds <torvalds@home.osdl.org> | 2003-08-15 23:32:58 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-08-15 23:32:58 -0700 |
| commit | 2afa598083ad74ddfad57e3e316bd187e550ec28 (patch) | |
| tree | 27bbd68b2c8f8771d0db193b1baa12846e7ebcb7 | |
| parent | 8e5db3dc110c99ed6e76bcab854c11f552eba5cd (diff) | |
| parent | 83300c1c7165581b83129db163882cabd8287e75 (diff) | |
Merge bk://kernel.bkbits.net/davem/offset_in_page-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
| -rw-r--r-- | Documentation/DMA-mapping.txt | 2 | ||||
| -rw-r--r-- | crypto/hmac.c | 8 | ||||
| -rw-r--r-- | crypto/tcrypt.c | 136 | ||||
| -rw-r--r-- | drivers/block/cryptoloop.c | 4 | ||||
| -rw-r--r-- | drivers/ide/arm/icside.c | 2 | ||||
| -rw-r--r-- | drivers/ide/ide-dma.c | 4 | ||||
| -rw-r--r-- | drivers/ide/ppc/pmac.c | 4 | ||||
| -rw-r--r-- | drivers/net/acenic.c | 8 | ||||
| -rw-r--r-- | drivers/net/sk98lin/skge.c | 7 | ||||
| -rw-r--r-- | drivers/net/sungem.c | 11 | ||||
| -rw-r--r-- | drivers/scsi/3w-xxxx.c | 2 | ||||
| -rw-r--r-- | drivers/scsi/arm/scsi.h | 2 | ||||
| -rw-r--r-- | drivers/scsi/ide-scsi.c | 2 | ||||
| -rw-r--r-- | drivers/scsi/megaraid.c | 3 | ||||
| -rw-r--r-- | drivers/scsi/qlogicfc.c | 6 | ||||
| -rw-r--r-- | drivers/scsi/sg.c | 2 | ||||
| -rw-r--r-- | drivers/scsi/sym53c8xx.c | 3 | ||||
| -rw-r--r-- | drivers/usb/misc/usbtest.c | 2 | ||||
| -rw-r--r-- | drivers/usb/storage/sddr09.c | 2 | ||||
| -rw-r--r-- | fs/jbd/journal.c | 9 | ||||
| -rw-r--r-- | include/linux/mm.h | 2 | ||||
| -rw-r--r-- | net/ipv6/addrconf.c | 4 | ||||
| -rw-r--r-- | net/sunrpc/auth_gss/gss_krb5_crypto.c | 6 |
23 files changed, 111 insertions, 120 deletions
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index 7a9efe07b35b..011ebad229e7 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt @@ -689,7 +689,7 @@ portably refer to any piece of memory. If you have a cpu pointer and offset using something like this: struct page *page = virt_to_page(ptr); - unsigned long offset = ((unsigned long)ptr & ~PAGE_MASK); + unsigned long offset = offset_in_page(ptr); Here are the interfaces: diff --git a/crypto/hmac.c b/crypto/hmac.c index 31cd7799c5d8..847df9263e16 100644 --- a/crypto/hmac.c +++ b/crypto/hmac.c @@ -26,7 +26,7 @@ static void hash_key(struct crypto_tfm *tfm, u8 *key, unsigned int keylen) struct scatterlist tmp; tmp.page = virt_to_page(key); - tmp.offset = ((long)key & ~PAGE_MASK); + tmp.offset = offset_in_page(key); tmp.length = keylen; crypto_digest_digest(tfm, &tmp, 1, key); @@ -71,7 +71,7 @@ void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen) ipad[i] ^= 0x36; tmp.page = virt_to_page(ipad); - tmp.offset = ((long)ipad & ~PAGE_MASK); + tmp.offset = offset_in_page(ipad); tmp.length = crypto_tfm_alg_blocksize(tfm); crypto_digest_init(tfm); @@ -105,14 +105,14 @@ void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key, opad[i] ^= 0x5c; tmp.page = virt_to_page(opad); - tmp.offset = ((long)opad & ~PAGE_MASK); + tmp.offset = offset_in_page(opad); tmp.length = crypto_tfm_alg_blocksize(tfm); crypto_digest_init(tfm); crypto_digest_update(tfm, &tmp, 1); tmp.page = virt_to_page(out); - tmp.offset = ((long)out & ~PAGE_MASK); + tmp.offset = offset_in_page(out); tmp.length = crypto_tfm_alg_digestsize(tfm); crypto_digest_update(tfm, &tmp, 1); diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index 1f9f632e6a38..a66c2f086e25 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c @@ -96,7 +96,7 @@ test_md5(void) p = md5_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(md5_tv[i].plaintext); crypto_digest_init(tfm); @@ -119,12 +119,12 @@ test_md5(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 13; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 13; memset(result, 0, sizeof (result)); @@ -173,7 +173,7 @@ test_hmac_md5(void) p = hmac_md5_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(hmac_md5_tv[i].plaintext); klen = strlen(hmac_md5_tv[i].key); @@ -195,12 +195,12 @@ test_hmac_md5(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 16; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 12; memset(result, 0, sizeof (result)); @@ -250,7 +250,7 @@ test_hmac_sha1(void) p = hmac_sha1_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(hmac_sha1_tv[i].plaintext); klen = strlen(hmac_sha1_tv[i].key); @@ -274,12 +274,12 @@ test_hmac_sha1(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 16; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 12; memset(result, 0, sizeof (result)); @@ -329,7 +329,7 @@ test_hmac_sha256(void) p = hmac_sha256_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(hmac_sha256_tv[i].plaintext); klen = strlen(hmac_sha256_tv[i].key); @@ -383,7 +383,7 @@ test_md4(void) p = md4_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(md4_tv[i].plaintext); crypto_digest_digest(tfm, sg, 1, result); @@ -433,7 +433,7 @@ test_sha1(void) p = sha1_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(sha1_tv[i].plaintext); crypto_digest_init(tfm); @@ -456,12 +456,12 @@ test_sha1(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 28; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 28; memset(result, 0, sizeof (result)); @@ -508,7 +508,7 @@ test_sha256(void) p = sha256_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(sha256_tv[i].plaintext); crypto_digest_init(tfm); @@ -531,12 +531,12 @@ test_sha256(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 28; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 28; memset(result, 0, sizeof (result)); @@ -584,7 +584,7 @@ test_sha384(void) p = sha384_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(sha384_tv[i].plaintext); crypto_digest_init(tfm); @@ -636,7 +636,7 @@ test_sha512(void) p = sha512_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = strlen(sha512_tv[i].plaintext); crypto_digest_init(tfm); @@ -701,7 +701,7 @@ test_des(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; ret = crypto_cipher_encrypt(tfm, sg, sg, len); if (ret) { @@ -738,12 +738,12 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 8; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 8; ret = crypto_cipher_encrypt(tfm, sg, sg, 16); @@ -801,17 +801,17 @@ test_des(void) p = &xbuf[IDX3]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 14; p = &xbuf[IDX4]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 10; p = &xbuf[IDX5]; sg[2].page = virt_to_page(p); - sg[2].offset = ((long) p & ~PAGE_MASK); + sg[2].offset = offset_in_page(p); sg[2].length = 8; ret = crypto_cipher_encrypt(tfm, sg, sg, 32); @@ -872,22 +872,22 @@ test_des(void) p = &xbuf[IDX3]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 2; p = &xbuf[IDX4]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 1; p = &xbuf[IDX5]; sg[2].page = virt_to_page(p); - sg[2].offset = ((long) p & ~PAGE_MASK); + sg[2].offset = offset_in_page(p); sg[2].length = 3; p = &xbuf[IDX6]; sg[3].page = virt_to_page(p); - sg[3].offset = ((long) p & ~PAGE_MASK); + sg[3].offset = offset_in_page(p); sg[3].length = 18; ret = crypto_cipher_encrypt(tfm, sg, sg, 24); @@ -956,27 +956,27 @@ test_des(void) p = &xbuf[IDX3]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 2; p = &xbuf[IDX4]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 2; p = &xbuf[IDX5]; sg[2].page = virt_to_page(p); - sg[2].offset = ((long) p & ~PAGE_MASK); + sg[2].offset = offset_in_page(p); sg[2].length = 2; p = &xbuf[IDX6]; sg[3].page = virt_to_page(p); - sg[3].offset = ((long) p & ~PAGE_MASK); + sg[3].offset = offset_in_page(p); sg[3].length = 2; p = &xbuf[IDX7]; sg[4].page = virt_to_page(p); - sg[4].offset = ((long) p & ~PAGE_MASK); + sg[4].offset = offset_in_page(p); sg[4].length = 8; ret = crypto_cipher_encrypt(tfm, sg, sg, 16); @@ -1040,42 +1040,42 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 1; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 1; p = &xbuf[IDX3]; sg[2].page = virt_to_page(p); - sg[2].offset = ((long) p & ~PAGE_MASK); + sg[2].offset = offset_in_page(p); sg[2].length = 1; p = &xbuf[IDX4]; sg[3].page = virt_to_page(p); - sg[3].offset = ((long) p & ~PAGE_MASK); + sg[3].offset = offset_in_page(p); sg[3].length = 1; p = &xbuf[IDX5]; sg[4].page = virt_to_page(p); - sg[4].offset = ((long) p & ~PAGE_MASK); + sg[4].offset = offset_in_page(p); sg[4].length = 1; p = &xbuf[IDX6]; sg[5].page = virt_to_page(p); - sg[5].offset = ((long) p & ~PAGE_MASK); + sg[5].offset = offset_in_page(p); sg[5].length = 1; p = &xbuf[IDX7]; sg[6].page = virt_to_page(p); - sg[6].offset = ((long) p & ~PAGE_MASK); + sg[6].offset = offset_in_page(p); sg[6].length = 1; p = &xbuf[IDX8]; sg[7].page = virt_to_page(p); - sg[7].offset = ((long) p & ~PAGE_MASK); + sg[7].offset = offset_in_page(p); sg[7].length = 1; ret = crypto_cipher_encrypt(tfm, sg, sg, 8); @@ -1117,7 +1117,7 @@ test_des(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length); @@ -1155,12 +1155,12 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 8; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 8; ret = crypto_cipher_decrypt(tfm, sg, sg, 16); @@ -1207,17 +1207,17 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 3; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 12; p = &xbuf[IDX3]; sg[2].page = virt_to_page(p); - sg[2].offset = ((long) p & ~PAGE_MASK); + sg[2].offset = offset_in_page(p); sg[2].length = 1; ret = crypto_cipher_decrypt(tfm, sg, sg, 16); @@ -1284,7 +1284,7 @@ test_des(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; crypto_cipher_set_iv(tfm, des_tv[i].iv, @@ -1339,12 +1339,12 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 13; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 11; crypto_cipher_set_iv(tfm, des_tv[i].iv, crypto_tfm_alg_ivsize(tfm)); @@ -1392,7 +1392,7 @@ test_des(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; crypto_cipher_set_iv(tfm, des_tv[i].iv, @@ -1440,12 +1440,12 @@ test_des(void) p = &xbuf[IDX1]; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = 4; p = &xbuf[IDX2]; sg[1].page = virt_to_page(p); - sg[1].offset = ((long) p & ~PAGE_MASK); + sg[1].offset = offset_in_page(p); sg[1].length = 4; crypto_cipher_set_iv(tfm, des_tv[i].iv, crypto_tfm_alg_ivsize(tfm)); @@ -1516,7 +1516,7 @@ test_des3_ede(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; ret = crypto_cipher_encrypt(tfm, sg, sg, len); if (ret) { @@ -1559,7 +1559,7 @@ test_des3_ede(void) p = des_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = len; ret = crypto_cipher_decrypt(tfm, sg, sg, len); if (ret) { @@ -1622,7 +1622,7 @@ test_blowfish(void) p = bf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = bf_tv[i].plen; ret = crypto_cipher_encrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -1664,7 +1664,7 @@ test_blowfish(void) p = bf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = bf_tv[i].plen; ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -1713,7 +1713,7 @@ test_blowfish(void) p = bf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = bf_tv[i].plen; crypto_cipher_set_iv(tfm, bf_tv[i].iv, @@ -1758,7 +1758,7 @@ test_blowfish(void) p = bf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = bf_tv[i].plen; crypto_cipher_set_iv(tfm, bf_tv[i].iv, @@ -1827,7 +1827,7 @@ test_twofish(void) p = tf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = tf_tv[i].plen; ret = crypto_cipher_encrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -1869,7 +1869,7 @@ test_twofish(void) p = tf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = tf_tv[i].plen; ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -1918,7 +1918,7 @@ test_twofish(void) p = tf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = tf_tv[i].plen; crypto_cipher_set_iv(tfm, tf_tv[i].iv, @@ -1964,7 +1964,7 @@ test_twofish(void) p = tf_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = tf_tv[i].plen; crypto_cipher_set_iv(tfm, tf_tv[i].iv, @@ -2028,7 +2028,7 @@ test_serpent(void) p = serp_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = sizeof(serp_tv[i].plaintext); ret = crypto_cipher_encrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -2068,7 +2068,7 @@ test_serpent(void) p = serp_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = sizeof(serp_tv[i].plaintext); ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -2230,7 +2230,7 @@ test_aes(void) p = aes_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = aes_tv[i].plen; ret = crypto_cipher_encrypt(tfm, sg, sg, sg[0].length); if (ret) { @@ -2272,7 +2272,7 @@ test_aes(void) p = aes_tv[i].plaintext; sg[0].page = virt_to_page(p); - sg[0].offset = ((long) p & ~PAGE_MASK); + sg[0].offset = offset_in_page(p); sg[0].length = aes_tv[i].plen; ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length); if (ret) { diff --git a/drivers/block/cryptoloop.c b/drivers/block/cryptoloop.c index 40ddfe244ae2..2eb4a18bdd42 100644 --- a/drivers/block/cryptoloop.c +++ b/drivers/block/cryptoloop.c @@ -162,11 +162,11 @@ cryptoloop_transfer_cbc(struct loop_device *lo, int cmd, char *raw_buf, iv[0] = cpu_to_le32(IV & 0xffffffff); sg_in.page = virt_to_page(in); - sg_in.offset = (unsigned long)in & ~PAGE_MASK; + sg_in.offset = offset_in_page(in); sg_in.length = sz; sg_out.page = virt_to_page(out); - sg_out.offset = (unsigned long)out & ~PAGE_MASK; + sg_out.offset = offset_in_page(out); sg_out.length = sz; encdecfunc(tfm, &sg_out, &sg_in, sz, (u8 *)iv); diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c index 653de7cd0523..0e2f7aa627b3 100644 --- a/drivers/ide/arm/icside.c +++ b/drivers/ide/arm/icside.c @@ -233,7 +233,7 @@ static void ide_build_sglist(ide_drive_t *drive, struct request *rq) memset(sg, 0, sizeof(*sg)); sg->page = virt_to_page(rq->buffer); - sg->offset = ((unsigned long)rq->buffer) & ~PAGE_MASK; + sg->offset = offset_in_page(rq->buffer); sg->length = rq->nr_sectors * SECTOR_SIZE; nents = 1; } else { diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 760eab981909..bf08b73c6aa1 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c @@ -255,7 +255,7 @@ static int ide_raw_build_sglist (ide_drive_t *drive, struct request *rq) #endif memset(&sg[nents], 0, sizeof(*sg)); sg[nents].page = virt_to_page(virt_addr); - sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK; + sg[nents].offset = offset_in_page(virt_addr); sg[nents].length = 128 * SECTOR_SIZE; nents++; virt_addr = virt_addr + (128 * SECTOR_SIZE); @@ -263,7 +263,7 @@ static int ide_raw_build_sglist (ide_drive_t *drive, struct request *rq) } memset(&sg[nents], 0, sizeof(*sg)); sg[nents].page = virt_to_page(virt_addr); - sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK; + sg[nents].offset = offset_in_page(virt_addr); sg[nents].length = sector_count * SECTOR_SIZE; nents++; diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index 8cdcb9a0a736..e24c7fee9bc8 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c @@ -971,7 +971,7 @@ pmac_ide_raw_build_sglist(ide_drive_t *drive, struct request *rq) if (sector_count > 127) { memset(&sg[nents], 0, sizeof(*sg)); sg[nents].page = virt_to_page(virt_addr); - sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK; + sg[nents].offset = offset_in_page(virt_addr); sg[nents].length = 127 * SECTOR_SIZE; nents++; virt_addr = virt_addr + (127 * SECTOR_SIZE); @@ -979,7 +979,7 @@ pmac_ide_raw_build_sglist(ide_drive_t *drive, struct request *rq) } memset(&sg[nents], 0, sizeof(*sg)); sg[nents].page = virt_to_page(virt_addr); - sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK; + sg[nents].offset = offset_in_page(virt_addr); sg[nents].length = sector_count * SECTOR_SIZE; nents++; diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index b0e56ba62b78..7cb53edc35bd 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c @@ -1960,7 +1960,7 @@ static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs) */ skb_reserve(skb, 2 + 16); mapping = pci_map_page(ap->pdev, virt_to_page(skb->data), - ((unsigned long)skb->data & ~PAGE_MASK), + offset_in_page(skb->data), ACE_STD_BUFSIZE - (2 + 16), PCI_DMA_FROMDEVICE); ap->skb->rx_std_skbuff[idx].skb = skb; @@ -2026,7 +2026,7 @@ static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs) */ skb_reserve(skb, 2 + 16); mapping = pci_map_page(ap->pdev, virt_to_page(skb->data), - ((unsigned long)skb->data & ~PAGE_MASK), + offset_in_page(skb->data), ACE_MINI_BUFSIZE - (2 + 16), PCI_DMA_FROMDEVICE); ap->skb->rx_mini_skbuff[idx].skb = skb; @@ -2087,7 +2087,7 @@ static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs) */ skb_reserve(skb, 2 + 16); mapping = pci_map_page(ap->pdev, virt_to_page(skb->data), - ((unsigned long)skb->data & ~PAGE_MASK), + offset_in_page(skb->data), ACE_JUMBO_BUFSIZE - (2 + 16), PCI_DMA_FROMDEVICE); ap->skb->rx_jumbo_skbuff[idx].skb = skb; @@ -2743,7 +2743,7 @@ ace_map_tx_skb(struct ace_private *ap, struct sk_buff *skb, struct tx_ring_info *info; mapping = pci_map_page(ap->pdev, virt_to_page(skb->data), - ((unsigned long) skb->data & ~PAGE_MASK), + offset_in_page(skb->data), skb->len, PCI_DMA_TODEVICE); info = ap->skb->tx_skbuff + idx; diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index 95f69ef37571..76ccbb897a25 100644 --- a/drivers/net/sk98lin/skge.c +++ b/drivers/net/sk98lin/skge.c @@ -2142,7 +2142,7 @@ struct sk_buff *pMessage) /* pointer to send-message */ */ PhysAddr = (SK_U64) pci_map_page(pAC->PciDev, virt_to_page(pMessage->data), - ((unsigned long) pMessage->data & ~PAGE_MASK), + offset_in_page(pMessage->data), pMessage->len, PCI_DMA_TODEVICE); pTxd->VDataLow = (SK_U32) (PhysAddr & 0xffffffff); @@ -2259,7 +2259,7 @@ struct sk_buff *pMessage) /* pointer to send-message */ */ PhysAddr = (SK_U64) pci_map_page(pAC->PciDev, virt_to_page(pMessage->data), - ((unsigned long) pMessage->data & ~PAGE_MASK), + offset_in_page(pMessage->data), skb_headlen(pMessage), PCI_DMA_TODEVICE); @@ -2518,8 +2518,7 @@ SK_U64 PhysAddr; /* physical address of a rx buffer */ Length = pAC->RxBufSize; PhysAddr = (SK_U64) pci_map_page(pAC->PciDev, virt_to_page(pMsgBlock->data), - ((unsigned long) pMsgBlock->data & - ~PAGE_MASK), + offset_in_page(pMsgBlock->data), pAC->RxBufSize - 2, PCI_DMA_FROMDEVICE); diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index ab2119a7cc56..8b8d9dfb3a4f 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c @@ -725,8 +725,7 @@ static void gem_rx(struct gem *gp) skb_put(new_skb, (ETH_FRAME_LEN + RX_OFFSET)); rxd->buffer = cpu_to_le64(pci_map_page(gp->pdev, virt_to_page(new_skb->data), - ((unsigned long) new_skb->data & - ~PAGE_MASK), + offset_in_page(new_skb->data), RX_BUF_ALLOC_SIZE(gp), PCI_DMA_FROMDEVICE)); skb_reserve(new_skb, RX_OFFSET); @@ -873,8 +872,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) len = skb->len; mapping = pci_map_page(gp->pdev, virt_to_page(skb->data), - ((unsigned long) skb->data & - ~PAGE_MASK), + offset_in_page(skb->data), len, PCI_DMA_TODEVICE); ctrl |= TXDCTRL_SOF | TXDCTRL_EOF | len; if (gem_intme(entry)) @@ -898,7 +896,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) */ first_len = skb_headlen(skb); first_mapping = pci_map_page(gp->pdev, virt_to_page(skb->data), - ((unsigned long) skb->data & ~PAGE_MASK), + offset_in_page(skb->data), first_len, PCI_DMA_TODEVICE); entry = NEXT_TX(entry); @@ -1464,8 +1462,7 @@ static void gem_init_rings(struct gem *gp) skb_put(skb, (ETH_FRAME_LEN + RX_OFFSET)); dma_addr = pci_map_page(gp->pdev, virt_to_page(skb->data), - ((unsigned long) skb->data & - ~PAGE_MASK), + offset_in_page(skb->data), RX_BUF_ALLOC_SIZE(gp), PCI_DMA_FROMDEVICE); rxd->buffer = cpu_to_le64(dma_addr); diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c index 05e491e7a278..01b76cfaad76 100644 --- a/drivers/scsi/3w-xxxx.c +++ b/drivers/scsi/3w-xxxx.c @@ -2112,7 +2112,7 @@ static u32 tw_map_scsi_single_data(struct pci_dev *pdev, Scsi_Cmnd *cmd) if (cmd->request_bufflen == 0) return 0; - mapping = pci_map_page(pdev, virt_to_page(cmd->request_buffer), ((unsigned long)cmd->request_buffer & ~PAGE_MASK), cmd->request_bufflen, dma_dir); + mapping = pci_map_page(pdev, virt_to_page(cmd->request_buffer), offset_in_page(cmd->request_buffer), cmd->request_bufflen, dma_dir); if (mapping == 0) { printk(KERN_WARNING "3w-xxxx: tw_map_scsi_single_data(): pci_map_page() failed.\n"); diff --git a/drivers/scsi/arm/scsi.h b/drivers/scsi/arm/scsi.h index 3b82817d88f4..2f1b3f4bf954 100644 --- a/drivers/scsi/arm/scsi.h +++ b/drivers/scsi/arm/scsi.h @@ -23,7 +23,7 @@ static inline int copy_SCp_to_sg(struct scatterlist *sg, Scsi_Pointer *SCp, int BUG_ON(bufs + 1 > max); sg->page = virt_to_page(SCp->ptr); - sg->offset = ((unsigned int)SCp->ptr) & ~PAGE_MASK; + sg->offset = offset_in_page(SCp->ptr); sg->length = SCp->this_residual; if (bufs) diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 740b1683eeea..b270dac4e2d2 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c @@ -761,8 +761,8 @@ static inline struct bio *idescsi_dma_bio(ide_drive_t *drive, idescsi_pc_t *pc) printk ("ide-scsi: %s: building DMA table for a single buffer (%dkB)\n", drive->name, pc->request_transfer >> 10); #endif /* IDESCSI_DEBUG_LOG */ bh->bi_io_vec[0].bv_page = virt_to_page(pc->scsi_cmd->request_buffer); + bh->bi_io_vec[0].bv_offset = offset_in_page(pc->scsi_cmd->request_buffer); bh->bi_io_vec[0].bv_len = pc->request_transfer; - bh->bi_io_vec[0].bv_offset = (unsigned long) pc->scsi_cmd->request_buffer & ~PAGE_MASK; bh->bi_size = pc->request_transfer; } return first_bh; diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c index de60f4f54b95..cce6e852a203 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c @@ -2275,8 +2275,7 @@ mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len) if( !cmd->use_sg ) { page = virt_to_page(cmd->request_buffer); - - offset = ((unsigned long)cmd->request_buffer & ~PAGE_MASK); + offset = offset_in_page(cmd->request_buffer); scb->dma_h_bulkdata = pci_map_page(adapter->dev, page, offset, diff --git a/drivers/scsi/qlogicfc.c b/drivers/scsi/qlogicfc.c index e0b851953c4b..0c7c003247f6 100644 --- a/drivers/scsi/qlogicfc.c +++ b/drivers/scsi/qlogicfc.c @@ -1282,8 +1282,7 @@ int isp2x00_queuecommand(Scsi_Cmnd * Cmnd, void (*done) (Scsi_Cmnd *)) } } else if (Cmnd->request_bufflen && Cmnd->sc_data_direction != PCI_DMA_NONE) { struct page *page = virt_to_page(Cmnd->request_buffer); - unsigned long offset = ((unsigned long)Cmnd->request_buffer & - ~PAGE_MASK); + unsigned long offset = offset_in_page(Cmnd->request_buffer); dma_addr_t busaddr = pci_map_page(hostdata->pci_dev, page, offset, Cmnd->request_bufflen, @@ -1926,8 +1925,7 @@ static int isp2x00_reset_hardware(struct Scsi_Host *host) */ busaddr = pci_map_page(hostdata->pci_dev, virt_to_page(&hostdata->control_block), - ((unsigned long) &hostdata->control_block & - ~PAGE_MASK), + offset_in_page(&hostdata->control_block), sizeof(hostdata->control_block), PCI_DMA_BIDIRECTIONAL); diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index dc8e7e2a9095..cb7dc291de89 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -1814,7 +1814,7 @@ sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size) break; } sclp->page = virt_to_page(p); - sclp->offset = (unsigned long) p & ~PAGE_MASK; + sclp->offset = offset_in_page(p); sclp->length = ret_sz; SCSI_LOG_TIMEOUT(5, printk("sg_build_build: k=%d, a=0x%p, len=%d\n", diff --git a/drivers/scsi/sym53c8xx.c b/drivers/scsi/sym53c8xx.c index 7d534560df2b..c549d49e3c30 100644 --- a/drivers/scsi/sym53c8xx.c +++ b/drivers/scsi/sym53c8xx.c @@ -1162,8 +1162,7 @@ static dma_addr_t __map_scsi_single_data(pcidev_t pdev, Scsi_Cmnd *cmd) mapping = pci_map_page(pdev, virt_to_page(cmd->request_buffer), - ((unsigned long)cmd->request_buffer & - ~PAGE_MASK), + offset_in_page(cmd->request_buffer), cmd->request_bufflen, dma_dir); __data_mapped(cmd) = 1; __data_mapping(cmd) = mapping; diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 3e5b387df10d..652a4028f517 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -271,7 +271,7 @@ alloc_sglist (int nents, int max, int vary) /* kmalloc pages are always physically contiguous! */ sg [i].page = virt_to_page (buf); - sg [i].offset = ((unsigned) buf) & ~PAGE_MASK; + sg [i].offset = offset_in_page (buf); sg [i].length = size; if (vary) { diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c index 9139ead4a519..9fb7b9ce6970 100644 --- a/drivers/usb/storage/sddr09.c +++ b/drivers/usb/storage/sddr09.c @@ -1127,7 +1127,7 @@ sddr09_read_map(struct us_data *us) { char *vaddr = kmalloc(alloc_req, GFP_NOIO); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3) sg[i].page = virt_to_page(vaddr); - sg[i].offset = ((unsigned long)vaddr & ~PAGE_MASK); + sg[i].offset = offset_in_page(vaddr); #else sg[i].address = vaddr; #endif diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c index a73a5a2e6298..ed2441ce3cf9 100644 --- a/fs/jbd/journal.c +++ b/fs/jbd/journal.c @@ -278,9 +278,6 @@ static void journal_kill_thread(journal_t *journal) * Bit 1 set == buffer copy-out performed (kfree the data after IO) */ -static inline unsigned long virt_to_offset(void *p) -{return ((unsigned long) p) & ~PAGE_MASK;} - int journal_write_metadata_buffer(transaction_t *transaction, struct journal_head *jh_in, struct journal_head **jh_out, @@ -318,10 +315,10 @@ repeat: if (jh_in->b_frozen_data) { done_copy_out = 1; new_page = virt_to_page(jh_in->b_frozen_data); - new_offset = virt_to_offset(jh_in->b_frozen_data); + new_offset = offset_in_page(jh_in->b_frozen_data); } else { new_page = jh2bh(jh_in)->b_page; - new_offset = virt_to_offset(jh2bh(jh_in)->b_data); + new_offset = offset_in_page(jh2bh(jh_in)->b_data); } mapped_data = kmap_atomic(new_page, KM_USER0); @@ -358,7 +355,7 @@ repeat: address kmapped so that we can clear the escaped magic number below. */ new_page = virt_to_page(tmp); - new_offset = virt_to_offset(tmp); + new_offset = offset_in_page(tmp); done_copy_out = 1; } diff --git a/include/linux/mm.h b/include/linux/mm.h index fe4d0efa9313..445fc58751c7 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -400,6 +400,8 @@ static inline int page_mapped(struct page *page) #define VM_FAULT_MINOR 1 #define VM_FAULT_MAJOR 2 +#define offset_in_page(p) ((unsigned long)(p) & ~PAGE_MASK) + extern void show_free_areas(void); struct page *shmem_nopage(struct vm_area_struct * vma, diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index f6e93a720a08..c6246d0fc1d6 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -1110,10 +1110,10 @@ static int __ipv6_regen_rndid(struct inet6_dev *idev) struct scatterlist sg[2]; sg[0].page = virt_to_page(idev->entropy); - sg[0].offset = ((long) idev->entropy & ~PAGE_MASK); + sg[0].offset = offset_in_page(idev->entropy); sg[0].length = 8; sg[1].page = virt_to_page(eui64); - sg[1].offset = ((long) eui64 & ~PAGE_MASK); + sg[1].offset = offset_in_page(eui64); sg[1].length = 8; dev = idev->dev; diff --git a/net/sunrpc/auth_gss/gss_krb5_crypto.c b/net/sunrpc/auth_gss/gss_krb5_crypto.c index 84f879595cff..82e78e12f95c 100644 --- a/net/sunrpc/auth_gss/gss_krb5_crypto.c +++ b/net/sunrpc/auth_gss/gss_krb5_crypto.c @@ -75,7 +75,7 @@ krb5_encrypt( memcpy(out, in, length); sg[0].page = virt_to_page(out); - sg[0].offset = ((long)out & ~PAGE_MASK); + sg[0].offset = offset_in_page(out); sg[0].length = length; ret = crypto_cipher_encrypt(tfm, sg, sg, length); @@ -114,7 +114,7 @@ krb5_decrypt( memcpy(out, in, length); sg[0].page = virt_to_page(out); - sg[0].offset = ((long)out & ~PAGE_MASK); + sg[0].offset = offset_in_page(out); sg[0].length = length; ret = crypto_cipher_decrypt(tfm, sg, sg, length); @@ -151,7 +151,7 @@ krb5_make_checksum(s32 cksumtype, struct xdr_netobj *input, goto out_free_tfm; } sg[0].page = virt_to_page(input->data); - sg[0].offset = ((long)input->data & ~PAGE_MASK); + sg[0].offset = offset_in_page(input->data); sg[0].length = input->len; crypto_digest_init(tfm); |
